Battlestation Operational(hdu6134 莫比乌斯反演)
来源:互联网 发布:怎么写数据报告 编辑:程序博客网 时间:2024/06/05 03:47
题目:点击打开链接
题意:f(n) = sigma[1<=i<=n]sigma[1<=j<=i]ceil[i/j] (gcd(i,j)==1)
sigma代表求和符号,celi代表除完向上取整;
解题:个人觉得这个代码还挺容易看懂的
点击打开链接
#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=1e9+7;const ll maxn=1e6+5;int mu[maxn],prime[maxn],not_prime[maxn];ll f[maxn],g[maxn],h[maxn];void mobius(){ ll tot; mu[1] = 1; tot = 0; for(int i = 2; i < maxn; i++){ if(!not_prime[i]){ prime[++tot] = i; mu[i] = -1; } for(int j = 1; prime[j]*i<maxn; j++){ not_prime[prime[j]*i] = 1; if(i%prime[j]==0){ mu[prime[j]*i] = 0; break; } mu[prime[j]*i] = -mu[i]; } }}//莫比乌斯函数的模板void solve(){ memset(g,0,sizeof(g)); memset(h,0,sizeof(h)); memset(f,0,sizeof(f)); for(int i=1;i<=1e6;i++) { g[i]++; for(int j=i+1;j<=1e6;j+=i) g[j]++; } for(int i=2;i<=1e6;i++) g[i]=(g[i]+g[i-1])%mod; for(int i=1;i<=1e6;i++) { for(int j=i;j<=1e6;j+=i) { h[j]=(h[j]+mu[i]*g[j/i]%mod+mod)%mod; } } // cout<<h[1]<<endl; for(int i=1;i<=1e6;i++) { f[i]=(f[i-1]+h[i])%mod; }}int main(){ int n; mobius(); solve(); while(cin>>n) { cout<<f[n]<<endl; } return 0;}
阅读全文
0 0
- Battlestation Operational(hdu6134 莫比乌斯反演)
- 【HDU6134】Battlestation Operational (莫比乌斯反演)
- 【HDU6134】Battlestation Operational(莫比乌斯反演)
- hdu6134 Battlestation Operational 莫比乌斯反演
- HDU6134 Battlestation Operational 【莫比乌斯】
- hdu 6134 Battlestation Operational 莫比乌斯反演
- 解题报告:HDU_6134:Battlestation Operational (莫比乌斯反演)
- HDU 6134(2017 多校训练:Battlestation Operational(莫比乌斯反演))
- HDU 6134 Battlestation Operational(积性函数+莫比乌斯反演)
- hdu 6134 Battlestation Operational (莫比乌斯反演+线性筛法+差分)
- HDU 6134 Battlestation Operational(莫比乌斯反演+线性筛)
- hdu6134-(莫比乌斯反演)
- HDU6134(莫比乌斯反演)
- HDU 6134 && 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)
- HDU 6134 Battlestation Operational(基本数论+莫比乌斯反演)——2017 Multi-University Training Contest
- HDU 6134 Battlestation Operational 莫比乌斯反演 + 数学推导
- HDU 6134 Battlestation Operational 2017多校8 莫比乌斯反演
- hdu6134-莫比乌斯反演+思维
- Tomcat服务器启动时报OutOfMemoryError Java heap space内存溢出
- 测试用例实例——常见功能测试点
- 事物管理
- Js 数组去重
- ubuntu环境中nexus安装之后配置为系统的一个服务
- Battlestation Operational(hdu6134 莫比乌斯反演)
- 使用BlockingQueue实现生产者消费者模式
- FZU 2275 Game(KMP)
- :not 选择器
- 面对对象--回顾初识
- Java汉字转换成拼音利用pinyin4j的jar包实现
- HNUST 1747: 硬币翻转(简单博弈)
- springboot【25】定时任务@Scheduled
- spring 返回值类型是String