2019牛客国庆集训派对day2 K 2018(容斥)
链接:https://ac.nowcoder.com/acm/contest/1107/K
来源:2019牛客国庆集训派对day2
- 题目描述
Given a, b, c, d, find out the number of pairs of integers (x, y) where a ≤ x ≤ b ,c ≤ y ≤ d and x⋅y is a multiple of 2018.- 输入描述
The input consists of several test cases and is terminated by end-of-file.
Each test case contains four integers a, b, c, d.- 输出描述
For each test case, print an integer which denotes the result.- 输入
1 2 1 2018
1 2018 1 2018
1 1000000000 1 1000000000- 输出
3
6051
1485883320325200- 备注
1 ≤ a ≤ b ≤ 109,1 ≤ c ≤ d ≤ 109
The number of tests cases does not exceed 104.
题意:给两个区间,这两个区间内分别取一个数使得这两个数的乘积是 2018 的倍数。
思路:2018 的因子有 1,2,1009,2018。我们将这些因子互相配对。
(1k,2018k)
(2k,1009k)
(1009k,2k)
(2018k,1k)
其中存在重复的对数
(2k,2018k)
(1009k,2018k):这两个重复删除了一次(2018k,2018k)
(2018k,2018k)
(2018k,2k)
(2018k,1009k):这两个重复删除了一次(2018k,2018k)
对于因子的个数容斥的方法来求即可。
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
const int Max_n = 1e6 + 10;int main() {int l1, r1, l2, r2;while(~scanf("%d%d%d%d", &l1, &r1, &l2, &r2)) {int cnt1_1 = r1 - (l1 - 1), cnt1_2 = r1 / 2 - (l1 - 1) / 2;int cnt1_1009 = r1 / 1009 - (l1 - 1) / 1009, cnt1_2018 = r1 / 2018 - (l1 - 1) / 2018;//cout<<cnt1_1<<" "<<cnt1_2<<" "<<cnt1_1009<<" "<<cnt1_2018<<endl;int cnt2_1 = r2 - (l2 - 1), cnt2_2 = r2 / 2 - (l2 - 1) / 2;int cnt2_1009 = r2 / 1009 - (l2 - 1) / 1009, cnt2_2018 = r2 / 2018 - (l2 - 1) / 2018;//cout<<cnt2_1<<" "<<cnt2_2<<" "<<cnt2_1009<<" "<<cnt2_2018<<endl;ll ans = (ll)cnt1_1 * (ll)cnt2_2018 + (ll)cnt1_2 * (ll)cnt2_1009 + (ll)cnt1_1009 * (ll)cnt2_2 +(ll)cnt1_2018 * (ll)cnt2_1;ans -= ((ll)cnt1_2 + (ll)cnt1_1009) * (ll)cnt2_2018;ans -= ((ll)cnt2_2 + (ll)cnt2_1009) * (ll)cnt1_2018;//ans+=(ll)cnt1_2018*(ll)cnt2_2018;//ans-=(ll)cnt1_1009*(ll)cnt2_2018;//ans-=(ll)(cnt1_2018)*(ll)cnt2_1009;ans += (ll)cnt1_2018 * (ll)cnt2_2018;printf("%lld\n", ans);}return 0;
}/**
* Copyright(c)
* All rights reserved.
* Author : Max_n
* Date : 2019-10-02-14.26.07
* Problem : 2018
*/
2019牛客国庆集训派对day2 K 2018(容斥)相关推荐
- 2019牛客国庆集训派对day2 K 2018
我这里在原题目上面加了扩充 修改:将2018改为x(x不是很大 ,其他题面内容不变 方法:首先将x分解质因子,变为 x=p1e1∗p2e2∗...∗pnenx=p_{1}^{e1}*p_{2}^{e2 ...
- 2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6
2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6 A - 2016 题意:求一个2阶矩阵的n次幂,对7取模的结果 思路:可以用上面介绍的10进制倍增的方法.也可以用 n 对2016取模,还 ...
- 2020牛客国庆集训派对day2 补题J
2020牛客国庆集训派对day2 补题J:VIRUS OUTBREAK 题目描述 The State Veterinary Services Department recently reported ...
- 2020牛客国庆集训派对day2 H-STROOP EFFECT(英语题)
2020牛客国庆集训派对day2 H-STROOP EFFECT(英语题) 题目 https://ac.nowcoder.com/acm/contest/7818/H 题意 这题目真的太难读懂了,赛后 ...
- 2020牛客国庆集训派对day2 AKU NEGARAKU
来源:牛客网: 题目描述 1st Academy is an international leadership training academy based in Kuala Lumpur. Ever ...
- 2020牛客国庆集训派对day2 F题 Java大数处理
题目: 链接:https://ac.nowcoder.com/acm/contest/16913/F 来源:牛客网 The following code snippet calculates the ...
- 2019牛客国庆集训派对day7 A 2016(数学)
题干: 链接:https://ac.nowcoder.com/acm/contest/1112/A 来源:牛客网 给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量: 1 < ...
- 2020牛客国庆集训派对day2 MATRIX MULTIPLICATION CALCULATOR
MATRIX MULTIPLICATION CALCULATOR 题意: 求两矩阵相乘 题解: 应该都学过把...矩阵相乘 矩阵相乘的前提是两个矩阵的列等于另一个矩阵的行 也就是cij=∑aik*bk ...
- 牛客国庆集训派对Day2: E. 数据排序(状压DP+记忆化搜索)
E. 数据排序 题目描述 机器学习通常需要用到大量的人工标注好的数据进行训练.现在有这么一个数据集,有 N 个张照片,每张照片中都有一个模特.某个研究员想要训练一个机器学习算法,能够根据照片对模特的魅 ...
最新文章
- PowerDesigner中Stereotype的创建图解
- C4.5-Release8中Ross Quinlan对缺失值的处理
- VB6:通过ADO访问Oracle存储过程返回的结果集
- (组合数学笔记)格点路径问题分析求解
- tableview cell自适应撑高
- 电子元件 —— 继电器
- matlab cic设计,CIC滤波器设计
- AIDA64 Extreme Edition(硬件检测)多国语言绿色特别版
- Xmanager4注册码
- 数组和集合的区别及定义方式
- shenyu2.5.0对restful的path中文不支持,400错误解决
- 国产商用密码与国际密码对照
- 离线地图开发 支持 局域网内二次开
- 含论文基于JAVA户籍信息管理系统【数据库设计、论文、源码、开题报告】
- python 图片转换为ico图标
- DICOM标准中关于C-Find,运用StudyTime进行查找时无法查找到数据的问题
- 腾讯全球数字生态大会--散记
- 基础电子元器件介绍-4.二极管
- 冯小刚:对“伪民族化”的拨乱反正
- Student学员数据库-[学生信息]、[学生成绩]表
热门文章
- linux poweroff无法关机,linux关机重启六种方法(sysrq shutdown halt init ipmi poweroff)
- 自己动手搭建苹果推送Push服务器
- 北斗导航 | 北斗/GNSS相关数据下载:IGS/IGMAS/MGEX/DCB/brdc/gamit/bernese/rinex等
- (称重问题)假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将两个球放在天平上对比
- LaTeX Subfigure 中间添加垂直线
- Math.hypot()
- Outlook 2013 英文版 设置收信规则
- Android————一个简单记账本(Bookkeeping)
- C语言编程从键盘输入n
- 国内外优秀开源源码网站