hdu-1695 GCD(莫比乌斯反演)
2016-07-01 20:00
363 查看
题目链接:
Memory Limit: 32768/32768 K (Java/Others)
[align=left]Problem Description[/align]
[align=left] [/align]
Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) means the greatest common divisor of x and y. Since the number of choices may be very large, you're only required to output the total number of different number pairs.
Please notice that, (x=5, y=7) and (x=7, y=5) are considered to be the same.
Yoiu can assume that a = c = 1 in all test cases.
[align=left]Input[/align]
[align=left] [/align]
The input consists of several test cases. The first line of the input is the number of the cases. There are no more than 3,000 cases.
Each case contains five integers: a, b, c, d, k, 0 < a <= b <= 100,000, 0 < c <= d <= 100,000, 0 <= k <= 100,000, as described above.
[align=left]Output[/align]
[align=left] [/align]
For each test case, print the number of choices. Use the format in the example.
[align=left]Sample Input[/align]
[align=left] [/align]
2
1 3 1 5 1
1 11014 1 14409 9
[align=left]Sample Output[/align]
[align=left] [/align]
Case 1: 9
Case 2: 736427
题意:
求gcd(x,y)==k的(x,y)对数;1<=x<=b,1<=y<=d;
思路:
gcd(x,y)=k,即gcd(x/k,y/k)=1;
变成求[1,b/k][1,d/k]中的互质的对数;
f(d)表示gcd(x,y)=d的对数;F(d)表示d|gcd(x,y)的对数;
这里求的是f(1);由莫比乌斯反演f(n)=∑(n|d)µ(d/n)F(d)知
f(1)=∑µ(i)*F(i) (1<=i<=min(b/k,d/k));
AC代码:
GCD
Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)
[align=left]Problem Description[/align]
[align=left] [/align]
Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) means the greatest common divisor of x and y. Since the number of choices may be very large, you're only required to output the total number of different number pairs.
Please notice that, (x=5, y=7) and (x=7, y=5) are considered to be the same.
Yoiu can assume that a = c = 1 in all test cases.
[align=left]Input[/align]
[align=left] [/align]
The input consists of several test cases. The first line of the input is the number of the cases. There are no more than 3,000 cases.
Each case contains five integers: a, b, c, d, k, 0 < a <= b <= 100,000, 0 < c <= d <= 100,000, 0 <= k <= 100,000, as described above.
[align=left]Output[/align]
[align=left] [/align]
For each test case, print the number of choices. Use the format in the example.
[align=left]Sample Input[/align]
[align=left] [/align]
2
1 3 1 5 1
1 11014 1 14409 9
[align=left]Sample Output[/align]
[align=left] [/align]
Case 1: 9
Case 2: 736427
题意:
求gcd(x,y)==k的(x,y)对数;1<=x<=b,1<=y<=d;
思路:
gcd(x,y)=k,即gcd(x/k,y/k)=1;
变成求[1,b/k][1,d/k]中的互质的对数;
f(d)表示gcd(x,y)=d的对数;F(d)表示d|gcd(x,y)的对数;
这里求的是f(1);由莫比乌斯反演f(n)=∑(n|d)µ(d/n)F(d)知
f(1)=∑µ(i)*F(i) (1<=i<=min(b/k,d/k));
AC代码:
相关文章推荐
- ViewPager的基本使用
- zoj 3620 Escape Time II dfs
- [na]数据包由于isp不稳定丢包-seq&ack
- Android Studio "佛祖保佑 永无bug" 注释模板设置详解(仅供娱乐)
- python之简单排序和随机整数
- HTMLParser使用详解(2)- Node内容
- 文件描述符
- C++中const用法总结
- 51nod 1396 还是01串
- EasyUI combogrid 更新查询参数 queryParams 重新加载
- mysql安装出现error Nr.1045
- php.ini-development和php.ini-production的区别
- java基础
- java JFrame 关闭窗口时确认
- Android 开发者选项详述
- LeetCode 第 371 题 (Sum of Two Integers)
- LeetCode 第 371 题 (Sum of Two Integers)
- 【BZOJ-3638&3272&3267&3502】k-Maximum Subsequence Sum 费用流构图 + 线段树手动增广
- Markdown 语法说明 (简体中文版) / (点击查看快速入门)
- CentOS下MySQL忘记root密码解决方法【转载】