bzoj 2986: Non-Squarefree Numbers (容斥原理)
来源:互联网 发布:中科院的飞箭软件 编辑:程序博客网 时间:2024/05/23 01:13
题目描述
传送门
题目大意:选出第K个有平方因子的数。
题解
之前做过一道基本上一样的题bzoj 完全平方数
代码
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define LL long long #define N 1000000using namespace std;LL n;int pd[N+3],prime[N+3],mu[N+3];void init(){ mu[1]=1; for (int i=2;i<=N;i++) { if (!pd[i]) { prime[++prime[0]]=i; mu[i]=-1; } for (int j=1;j<=prime[0];j++) { if (i*prime[j]>N) break; pd[i*prime[j]]=1; if (i%prime[j]==0) { mu[i*prime[j]]=0; break; } mu[i*prime[j]]=-mu[i]; } }}LL check(LL x){ LL ans=0; for (LL i=2;i*i<=x;i++) if (mu[i]) ans=ans-mu[i]*(x/(i*i)); return ans;}int main(){// freopen("a.in","r",stdin);// freopen("my.out","w",stdout); init(); scanf("%lld",&n); LL l=0; LL r=30000000000LL; LL ans=r; while (l<=r) { LL mid=(l+r)/2; if (check(mid)>=n) ans=min(ans,mid),r=mid-1; else l=mid+1; } printf("%lld\n",ans);}
0 0
- bzoj 2986: Non-Squarefree Numbers (容斥原理)
- [BZOJ2986]Non-Squarefree Numbers(二分+容斥原理)
- bzoj 2986: Non-Squarefree Numbers
- bzoj 2986 Non-Squarefree Numbers
- 【BZOJ】【P2986】【Non-Squarefree Numbers】【题解】【数论】
- BZOJ2986 Non-Squarefree Numbers
- [莫比乌斯函数] BZOJ 2986 Non-Squarefree Numbers & BZOJ 2440 [中山市选2011]完全平方数
- bzoj2986 Non-Squarefree Numbers (莫比乌斯函数)
- 【bzoj】2190 - 仪仗队(容斥原理)
- bzoj 2393(容斥原理)
- bzoj 3622 容斥原理
- BZOJ 2005 容斥原理
- BZOJ 2045 容斥原理
- bzoj 1853 容斥原理
- BZOJ 2393 容斥原理
- bzoj 2393 & bzoj 1853 容斥原理
- 【POJ】1142 - Smith Numbers(容斥原理)
- Smith Numbers(欧拉函数,容斥原理)
- 几本.Net的经典书籍
- video标签在ios微信中的一个问题
- BZOJ3810 [Coci2015]Stanovi
- codeforces 585E. Present for Vitalik the Philatelist (容斥原理)
- BZOJ2067: [Poi2004]SZN 树形DP
- bzoj 2986: Non-Squarefree Numbers (容斥原理)
- qscoj 喵哈哈村的打印机游戏(区间dp)
- 重定向
- Spring4新特性——更好的Java泛型操作API
- VS插件下载
- Spring漂流记(一)--Spring概况
- struts2默认Action
- Linux下去掉^M的方法
- glide:源码解析