BZOJ3739: DZY loves math VIII
来源:互联网 发布:太原软件培训学校 编辑:程序博客网 时间:2024/05/22 09:46
莫比乌斯反演
可以推出来
不会Markdown。。。。
http://www.cnblogs.com/clrs97/p/5063707.html
#include<cstdio>#include<iostream>#define ll long longchar c;inline void read(ll&a){ a=0;do c=getchar();while(c<'0'||c>'9'); while(c<='9'&&c>='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();}const int Maxn=10000001; int Prime[Maxn],tot;ll S[Maxn];int Mu[Maxn];int Factor[Maxn];bool Check[Maxn];ll B,A;ll ans; int s[Maxn];int Cache[101];inline void Search(int Pos,int Cur){ if(Pos^(tot+1))Search(Pos+1,Cur),Search(Pos+1,Cur*Cache[Pos]); else s[Cur]+=A,B+=Mu[Cur]*s[Cur];}int main(){ ll k; ll T,n,m,i,j; Mu[1]=1; Factor[1]=1; for(i=2;i<Maxn;i++) { if(!Check[i]) Factor[i]=Prime[++tot]=i,Mu[i]=-1; for(j=1;j<=tot;j++) { k=i*Prime[j]; if(k>=Maxn)break; Check[k]=1; Factor[k]=Prime[j]; if(i%Prime[j])Mu[k]=-Mu[i]; else {Mu[k]=0;break; } } } //for(i=2;i<Maxn;i++)Mu[i]+=Mu[i-1]; for(i=1;i<Maxn;i++) { S[i]+=S[i-1]; if(A=Mu[i]) { for(B=tot=0,j=i;j^1;j/=Factor[j])Cache[++tot]=Factor[j]; Search(1,1); S[i]+=B*Mu[i]; } } read(T); while(T--) { read(n); printf("%lld\n",S[n]); } return 0; }
0 0
- BZOJ3739: DZY loves math VIII
- bzoj3739 DZY loves math VIII 莫比乌斯函数
- bzoj 3739 DZY loves math VIII
- 【bzoj 3739】DZY loves math VIII - 乱搞数学题
- bzoj 3739: DZY loves math VIII (数学)
- 【BZOJ3309】DZY Loves Math
- BZOJ3309: DZY Loves Math
- bzoj3309: DZY Loves Math
- DZY Loves Math IV
- BZOJ3309: DZY Loves Math
- 【bzoj3309】DZY Loves Math
- bzoj3309 DZY Loves Math
- [bzoj3309] DZY Loves Math
- bzoj3309: DZY Loves Math
- bzoj3309 DZY Loves Math
- 3309: DZY Loves Math
- bzoj 3309 DZY Loves Math
- bzoj3309 DZY Loves Math 数论
- 使用StrUML创建类图
- [leetcode] 108. Convert Sorted Array to Binary Search Tree
- 【vim小记】vim的复制粘贴(包括系统剪贴板)
- ACM--八皇后问题
- 栈与队列的简单区别
- BZOJ3739: DZY loves math VIII
- 通过反射了解集合泛型的本质
- 第3周项目1 经过几次猜对数字大小
- 蓝桥杯第三届 微生物增殖
- BZOJ 2456 mode (求众数)
- nginx 进程间通信-socketpair
- Android用Intent切换Activity无反应
- 微信智能客服管理 集成微信接口、聊天机器人于一体
- 【最全版】Java正则表达式判断手机号码【2014版】