HDU 6134 Battlestation Operational
来源:互联网 发布:京东和淘宝哪个售后好 编辑:程序博客网 时间:2024/06/11 02:08
把原式里的艾弗森约定用莫比乌斯函数展开:
令:
则:
代码:
#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N = 1e6+5;const LL MOD = 1e9+7;bool prime[N];int p[N];LL g[N], mu[N];void init() { for(int i = 2; i < N; i++) prime[i] = 1; int k = 0; mu[1] = 1; for(int i = 2; i < N; i++) { if(prime[i]) { p[k++] = i; mu[i] = -1;} for(int j = 0; j<k && i*p[j]<N; j++) { prime[i*p[j]] = 0; if(i%p[j] == 0) { mu[i*p[j]] = 0; break; } mu[i*p[j]] = -mu[i]; } } for(int i = 1; i < N-1; i++) { g[i]++, g[i+1]--; for(int j = 2; ; j++) { int R = i*j, L = i*(j-1)+1; if(R > N) R = N-2; g[L] = (g[L]+j)%MOD; g[R+1] = (g[R+1]-j+MOD)%MOD; if(R == N-2) break; } } for(int i = 1; i < N; i++) (g[i] += g[i-1]+MOD)%=MOD; for(int i = 1; i < N; i++) (g[i] += g[i-1]+MOD)%=MOD, (mu[i] += mu[i-1]+MOD)%=MOD;}int main() { init(); int n; while(~scanf("%d", &n)) { LL ans = 0; for(int i = 1; i <= n; i++) { int j = n/(n/i); (ans += (mu[j]-mu[i-1]+MOD)%MOD*g[n/i]%MOD)%=MOD; i = j; } printf("%lld\n", ans); } return 0;}
阅读全文
0 0
- HDU 6134 Battlestation Operational
- HDU 6134 Battlestation Operational
- HDU 6134 Battlestation Operational (mobius +前缀和)
- hdu 6134 Battlestation Operational [反演]【数学】
- Hdu 6134 Battlestation Operational【容斥】
- hdu 6134 Battlestation Operational mobius反演
- hdu 6134 Battlestation Operational 莫比乌斯反演
- HDU 6134 Battlestation Operational-莫比乌斯
- HDU 6134 Battlestation Operational(积性函数+莫比乌斯反演)
- 2017多校八 1002题 hdu 6134 Battlestation Operational 艾弗森约定 莫比乌斯函数 分块
- hdu 6134 Battlestation Operational (莫比乌斯反演+线性筛法+差分)
- HDU 6134 Battlestation Operational(莫比乌斯反演+线性筛)
- HDU 6134 Battlestation Operational 莫比乌斯反演 + 数学推导
- HDU 6134(2017 多校训练:Battlestation Operational(莫比乌斯反演))
- HDU 6134 Battlestation Operational 2017多校8 莫比乌斯反演
- HDU-2017 多校训练赛8-1002-Battlestation Operational
- HDU 6134 && 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)
- HDU 6134 Battlestation Operational(基本数论+莫比乌斯反演)——2017 Multi-University Training Contest
- 高级java必须清楚的概念:原子性、可见性、有序性
- 厉害了,Servlet3的异步处理机制
- Java码农必须掌握的循环删除List元素的正确方法!
- 作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
- 设计模式之静态代理模式实战
- HDU 6134 Battlestation Operational
- 实现java多线程的3种方式,99%人没用过第3种
- 架构师必须掌握的各种编码:ASCII、ISO-8859-1、GB2312...
- Spring bean
- leakcanary使用
- 面试必问-几种线程安全的Map解析
- Reverse Integer
- Spring的核心模块解析
- HDU5781 ATM Mechine [概率dp]