题目大意:设 ms(i) ms(i)代表i的最小质因数,求 ∑ni=2ms(i) \sum_{i=2}^nms(i), n=1012mod109 n = 10^{12}\;mod\;10^9

对于 pi>n−√ pi>\sqrt n,pi只会出现一次,所以可以先处理 <=n−√ <script type="math/tex" id="MathJax-Element-1993"><=\sqrt n</script>的素数
设 F[i,j] 表示不含 p1..i p_{1..i}的因数,范围在[1,j]的数的个数
设 G[i,j] 表示不含 p1..i p_{1..i}的因数,范围在[1,j]的数的和
对于 p2i>j p_i^2 >j,有

F[i,j]=F[i−1,j]−1G[i,j]=G[i−1,j]−pi

F[i,j] = F[i - 1,j] - 1 \\G[i,j] = G[i - 1,j] - p_i
对于 p2i<j p_i^2 ,令 k=j/pi k = j / p_i有

F[i,j]=F[i−1,j]−F[i−1,k]G[i,j]=G[i−1,j]−G[i−1,k]∗pi

F[i,j] = F[i - 1,j] - F[i - 1,k] \\G[i,j] = G[i - 1,j] - G[i - 1,k] * p_i
因为要用到的只有f[i,n],g[tot,n],所以第二维可以简化成只有 2n−√ 2\sqrt n个

素数分布比较均匀,积分算下来,复杂度 O(n34lnn) O(\frac {n^{\frac 34}}{\ln 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 long
using 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;
}

PE 521【DP】相关推荐

  1. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  2. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  3. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  4. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  5. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  6. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  7. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  8. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

  9. zzuliOJ 1894: 985的方格难题 【dp】

    1894: 985的方格难题 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 369  Solved: 75 Description 985走入了一个n ...

最新文章

  1. python中json的使用
  2. .net页面数据传递
  3. LeetCode刷题中遇到的一些知识点
  4. 不要62 HDU - 2089【数位dp】
  5. jquery的选择器之-表单对象属性过滤选择器
  6. ODP.NET连接池性能计数器
  7. C语言模拟信号量解决同步、互斥问题
  8. 深度学习(四十二)网络压缩-未完待续
  9. css的基本定位机制
  10. windows7文本文档换成c语言,win10电脑新建文本文档默认编码是UTF-8怎么修改成ANSI编码...
  11. 字节跳动校招提前批面试
  12. GITC2016花落上海,五大亮点抢先看
  13. UT/UTC/GMT的区别和联系
  14. live555 android,Android之live555构建RTSP Server
  15. 2018秋c语言程序设计考试答案,2018年自学考试《C语言程序设计》模拟试题【四篇】...
  16. 人生如画,一笔一足迹,一步一脚印
  17. 若依Activiti工作流入门
  18. 2023年天津理工大学中环信息学院专升本专业课报名考试须知
  19. BEIH/F:总线枚举接口劫持/伪造
  20. 工程技术计算机,计算机工程技术-计算机科学

热门文章

  1. 雷锋微视点:腾讯电商、搜搜、微信将出门独立
  2. android 车载音频系统,索尼推出支持Android Auto和Carplay车载音响系统
  3. pypython画图中的cumsum是什么_Python绘图之matplotlib基本语法
  4. 浅谈市场降温后的区块链发展前景
  5. CRC校验原理及CRC-8简单校验函数设计
  6. css: 照片有如层叠效果
  7. Saas.为什么要搞Saas,会遇到哪些问题,看看5年Saas开发踩过的坑
  8. xml格式化 java_Java XML格式化程序
  9. 快手爬虫 解决粉丝数 关注数等字体加密 python快手爬虫
  10. IntelliJ IDEA重置配置设定