[JZOJ5163] 【NOIP2017模拟6.25】PS的烦恼
来源:互联网 发布:国家行政学院博士 知乎 编辑:程序博客网 时间:2024/06/06 03:29
Description
话说PS总是有着各种各样的烦恼,这天,他又在为自己失败的感情史烦恼着。这时,他心中的女神,魔法少女小圆从天而降,她对他说,如果你能帮我解决一个问题,我就让你永远没有烦恼。
问题是这样的:
寻找一个最大的k,使得存在一个x使得x^k=y,那么f(y)=k,即y最多可以开k次方根。
小圆的要求是求出从a到b的f值之和(包括a和b)。
100%的数据满足:2<=a<=b<=10^18
Solution
解法一
这是我在比赛时的解法
观察数据范围,既然是求指数,那么底数的衰减是非常快的,当指数大于2以后底数小于
那么只需要考虑指数是1和2的情况。
显然k=1答案就是b-a+1,然后暴力求的时候再减掉。
然后k=2时就是
其实就是半暴力半容斥
暴力求的时候只扫只能开1次的,这个可以提前暴力弄出来。
然后跑了32ms,全场最慢。
解法二
把原问题简化成求1到N的答案
设
很明显
就是说g(i)包括f(i)的倍数
那么直接反演
最后用f直接算答案。
Code
代码是解法1
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fod(i,a,b) for(int i=a;i>=b;i--)#define N 1005#define LL long longusing namespace std;LL ksm(LL k,LL n){ if(n==0) return 1; LL s=ksm(k,n/2); return (n%2)?s*s*k:s*s;}bool bz[1000007];int main(){ LL n,m; cin>>n>>m; memset(bz,0,sizeof(bz)); fo(j,2,20) { LL k=2; while(ksm(k,j)<=1000007) bz[ksm(k,j)]=1,k++; } while(n!=0||m!=0) { LL s=m-n+1+(LL)sqrt(m)-(LL)sqrt(n); LL v=(LL)log2(m),v1=(LL)(log(m)/log(3)); if((LL)(sqrt(n))*(LL)(sqrt(n))==n) s++; fo(j,3,v) { LL k=2,p=ksm(k,j); while(p<=m) { if(!bz[k]) { if(p<=m&&p>=n) s+=((j%2)?j-1:j-2); } k++; p=ksm(k,j); } } printf("%lld\n",s); cin>>n>>m; }}
阅读全文
0 0
- [JZOJ5163] 【NOIP2017模拟6.25】PS的烦恼
- jzoj5163 【NOIP2017模拟6.25】PS的烦恼 [莫比乌斯反演]
- JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
- JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
- 【JZOJ 5163】PS的烦恼
- 【NOIP2017模拟6.25】小W的动漫
- [NOIP2017模拟]杆子的排列
- [JZSC2017]【NOIP2017模拟6.25】总结
- JZOJ5165. 【NOIP2017模拟6.25】小W的动漫
- [NOIP2017模拟]疯狂的01串
- 【NOIP2017提高组模拟6.25】总结
- NYOJ 453 小珂的烦恼 模拟
- luogu #2527 Panda的烦恼(模拟)
- NOIP2017模拟赛1
- NOIP2017模拟赛8
- NOIP2017模拟赛9
- [NOIP2017模拟]切蛋糕
- [NOIP2017模拟]随机图
- ==与equals()方法
- VMware虚拟机中如何配置静态IP
- android studio ndk编程(二)——两种方式编译
- 关于list集合传到jsp,在struts的select标签中显示下拉列表问题
- Apache Kafka源码分析-模块简介
- [JZOJ5163] 【NOIP2017模拟6.25】PS的烦恼
- Spring Boot 集成MyBatis
- jsp两种不同的include
- 剑指offer--合并两个排序的链表
- Hystrix系列-4-Hystrix的动态配置
- 给 TI BLE 添加自己UUID
- 浅析c++中virtual关键字
- 手机的存储结构
- (目前WA)hihocoder1264-神奇字符串-JAVA版