JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
来源:互联网 发布:联通云计算公司 编辑:程序博客网 时间:2024/06/05 22:00
Description:
话说PS总是有着各种各样的烦恼,这天,他又在为自己失败的感情史烦恼着。这时,他心中的女神,魔法少女小圆从天而降,她对他说,如果你能帮我解决一个问题,我就让你永远没有烦恼。
问题是这样的:
寻找一个最大的k,使得存在一个x使得x^k=y,那么f(y)=k,即y最多可以开k次方根。
小圆的要求是求出从a到b的f值之和(包括a和b)。
Input:
多组数据,每组数据一行包含两个数a,b,文件以0 0(不需要输出)结尾。
Output:
每组数据一行表示这一段f值之和。
Sample Input:
2 10
248832 248832
0 0
Sample Output:
13
5
Data Constraint:
30%的数据满足:a<=1000 b<=1000
100%的数据满足:2<=a<=b<=10^18
题目大意:
设
题解:
莫比乌斯反演。
设
设T = i *j
要使
对于每一个询问,可以在log时间内回答。
Code:
#include<cmath>#include<cstdio>#define ll long long#define fo(i, x, y) for(int i = x; i <= y; i ++)using namespace std;ll a, b, phi[65];int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);}ll sum(ll n) { ll ans = 0; fo(i, 1, log2(n)) ans += ((ll)pow(n, (long double)1 / i) - 1) * phi[i]; return ans;}int main() { phi[1] = 1; fo(i, 1, 64) fo(j, i + 1, 64) if(gcd(i, j) == 1) phi[j] ++; for(scanf("%lld %lld", &a, &b); a != 0 || b != 0; scanf("%lld %lld", &a, &b)) printf("%lld\n", sum(b) - sum(a - 1));}
阅读全文
0 0
- JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
- JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
- [JZOJ5163] 【NOIP2017模拟6.25】PS的烦恼
- 【JZOJ 5163】PS的烦恼
- jzoj5163 【NOIP2017模拟6.25】PS的烦恼 [莫比乌斯反演]
- JZOJ 4911. 【NOIP2017模拟12.3】人生的叹息
- JZOJ 4911 【NOIP2017模拟12.3】人生的叹息
- JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径
- JZOJ 5235. 【NOIP2017模拟8.7A组】好的排列
- JZOJ 4910. 【NOIP2017模拟12.3】子串
- JZOJ 4910. 【NOIP2017模拟12.3】子串
- JZOJ 5167 【NOIP2017模拟6.26】下蛋爷
- JZOJ 5167. 【NOIP2017模拟6.26】下蛋爷
- JZOJ 5183. 【NOIP2017提高组模拟6.29】小T的钢琴
- 【JZOJ 5248】【NOIP2017提高A组模拟8.10】花花的聚会
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)
- JZOJ 5347. 【NOIP2017提高A组模拟9.5】遥远的金字塔
- 6.27
- unity之安卓手机截屏并显示在相册
- 面试题38—数字在排序数组中出现的次数
- 认识OKHttp
- jQuery 中的proxy()和delegation()方法
- JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
- Linux下rpm及yum安装jdk
- python与数据挖掘-笔记2
- eval调研
- java中十六进制编码与解码
- 安装MyEclipse插件svn
- 手工创建cdb数据库(create database语句)
- Python核心数据类型及其操作
- 数据库事务使用