BZOJ:2440: [中山市选2011]完全平方数(容斥原理)
来源:互联网 发布:西储大学轴承数据 编辑:程序博客网 时间:2024/05/02 12:32
传送门
题意:
给你一个数k,求从1开始第k个非完全平方数。
定义一个数为完全平方数当且仅当这个数质因数分解后存在二次项。
如:
题解:
1.从1开始第k个非完全平方数
2.
上面这个公式的本质是容斥。
即先减去质因数包含
对于
不难发现时间复杂度为
写代码是石乐志了。。还把前缀和算了。其实对于
- Code
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int Maxn=5e4;inline int read(){ char ch=getchar();int i=0,f=1; while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){i=(i<<1)+(i<<3)+ch-'0';ch=getchar();} return i*f;}int Prime[Maxn+50],pr[Maxn+50],tot,mu[Maxn+50];inline void sieve(){ mu[1]=1; for(int i=2;i<=Maxn;i++) { if(!pr[i]){Prime[++tot]=i;pr[i]=i;mu[i]=-1;} for(int j=1;j<=tot;j++) { int k=i*Prime[j]; if(k>Maxn)break; pr[k]=Prime[j]; if(i%Prime[j]){mu[k]=-mu[i];} else {mu[k]=0;break;} } } for(int i=1;i<=Maxn;i++)mu[i]+=mu[i-1];}inline ll calc(int n){ int lim=sqrt(n); int pos; ll ans=0; for(int bg=1;bg<=lim;bg=pos+1) { pos=min(lim,(int)sqrt(n/(n/bg/bg))); ans+=1ll*(n/bg/bg)*(mu[pos]-mu[bg-1]); } return ans;}int main(){ sieve(); int T=read(); while(T--) { int k=read(); ll l=1,r=2e9,ans; while(l<=r) { ll mid=(l+r)>>1; if(calc(mid)>=k)ans=mid,r=mid-1; else l=mid+1; } printf("%lld\n",ans); }}
阅读全文
0 0
- 【BZOJ】2440 [中山市选2011]完全平方数 容斥
- BZOJ 2440: [中山市选2011]完全平方数 莫比乌斯 容斥原理 二分
- BZOJ 2440: [中山市选2011]完全平方数 莫比乌斯反演 +容斥原理
- BZOJ:2440: [中山市选2011]完全平方数(容斥原理)
- BZOJ 2440 中山市选2011 完全平方数 二分答案+容斥原理+莫比乌斯反演
- BZOJ-2440-完全平方数-中山市选2011-容斥原理-莫比乌斯函数-二分查找
- BZOJ 2440: [中山市选2011]完全平方数(二分答案 + 莫比乌斯函数 + 容斥原理)
- Bzoj 2440: [中山市选2011]完全平方数(莫比乌斯函数+容斥原理+二分答案)
- BZOJ-2440 中山市选2011 完全平方数 二分查找 + 莫比乌斯反演 + 容斥原理
- 【BZOJ 2440】[中山市选2011]完全平方数 莫比乌斯反演+容斥
- BZOJ 2440 [中山市选2011]完全平方数 (容斥)
- 2440: [中山市选2011]完全平方数 (容斥原理+莫比乌斯函数)
- bzoj 2440: [中山市选2011]完全平方数(二分,容斥,莫比乌斯反演)
- 【bzoj2440】[中山市选2011]完全平方数 莫比乌斯反演+容斥原理
- BZOJ_P2440 [中山市选2011]完全平方数(数论+莫比乌斯反演+容斥原理)
- [BZOJ2440][中山市选2011]完全平方数(二分+容斥原理)
- BZOJ2440: [中山市选2011]完全平方数 二分 容斥原理
- 2440: [中山市选2011]完全平方数 二分答案+容斥原理+莫比乌斯函数
- java之泛型基础
- HDU 1172 每日一水
- 多线程——死锁
- Codeforces Round #405 A. Bear and Big Brother
- MySQL必知必会l语句总结(二)
- BZOJ:2440: [中山市选2011]完全平方数(容斥原理)
- jQuery中应该注意的细节
- TinkPHP 自定义API基控制器类
- Ubuntu桌面右键不管用解决办法
- 去重函数
- 对this的解读
- 水果 HDU
- 网页计算器
- 7.23 练习题 A: 丑数