PE 521【DP】
来源:互联网 发布:乐高机器人编程教程 编辑:程序博客网 时间:2024/06/07 22:42
题目大意:设
对于
设 F[i,j] 表示不含
设 G[i,j] 表示不含
对于
对于
因为要用到的只有f[i,n],g[tot,n],所以第二维可以简化成只有
素数分布比较均匀,积分算下来,复杂度
开始想多了是我sb。。。
线筛写错也是醉了→_→
【答案】44389811
#include<iostream>#include<algorithm>#include<cstdlib>#include<cstdio>#include<cstring>#include<string>#include<ctime>#include<cmath>#define N 2000005#define M 1000000000#define LL long longusing namespace std;int tot,m;LL n = (LL)1e12,S = (LL)1e6,ans;LL f[N],g[N],f_[N],g_[N],a[N],sum[N],prime[N];bool v[N];void get_prime(){ for (int i = 2;i <= S;i ++) { if (!v[i]) prime[++ tot] = i; for (int j = 1;j <= tot && i * prime[j] <= S;j ++) { v[i * prime[j]] = true; if (i % prime[j] == 0) break; } }}LL mul2(LL x){ LL y = x + 1; (x & 1) ? y >>= 1 : x >>= 1; x %= M,y %= M; return x * y % M;}int main(){ get_prime(); for (int i = 1;i <= S;i ++) a[++ m] = i; for (int i = S;i;i --) if (n / i != a[m]) a[++ m] = n / i; for (int i = 1;i <= m;i ++) { g[i] = mul2(a[i]); f[i] = a[i]; } for (int i = tot;i;i --) sum[i] = (sum[i + 1] + prime[i]) % M; for (int i = 1,last = 1,j;i <= tot;i ++) { for (j = last;a[j] < prime[i] * prime[i];j ++) { (f[j] -= tot - i + 1) %= M; (g[j] -= sum[i]) %= M; } last = j; for (j = last;j <= m;j ++) { f_[j] = f[j]; g_[j] = g[j]; } for (j = last;j <= m;j ++) { LL k = a[j] / prime[i],t = f[j]; if (k > S) k = m + 1 - n / k; if (k < last) { f[j] -= f[k] + tot - i + 1; g[j] -= (g[k] + sum[i]) * prime[i]; } else { f[j] -= f_[k]; g[j] -= g_[k] * prime[i]; } f[j] %= M,g[j] %= M; if (j == m) (ans += (t - f[j]) % M * prime[i]) %= M; } } (ans += g[m] - 1) %= M; if (ans < 0) ans += M; cout << ans << endl; return 0;}
0 0
- PE 521【DP】
- PE 290【数位DP】
- PE 240 【DP】
- Homework of PE dp 正难则反
- CodeForces 316D3 PE Lesson [DP+Math]
- PE 113 Non-bouncy numbers (dp)
- PE 114~117 (全是dp)
- PE
- PE
- PE
- PE
- PE
- PE
- PE
- PE
- PE
- PE
- PE
- 全球开源镜像站点
- LeeCode-Contains Duplicate
- 设计模式分类(创建型模式、结构型模式、行为模式)
- OC中的深复制与浅复制
- Asymptote_ghostscript
- PE 521【DP】
- ubuntu14 apt-get 安装java8 ppa
- LeeCode-Invert Binary Tree
- HTTP基础
- Mybatis中模糊查询的各种写法
- 【CodeForces 397B 】On Corruption and Numbers(规律)
- java面对大数据 并发时候的分治思想及继承的高级运用
- 用lsof统计程序打开的句柄数量
- 集合问题