博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AtCoder Regular Contest 067
阅读量:5891 次
发布时间:2019-06-19

本文共 1240 字,大约阅读时间需要 4 分钟。

根据唯一分解定理,$N=\prod_{i=1}^{n}p_i^{a_i}$。

那么$N$的因子个数即为$\prod_{i=1}^{n}(a_i+1)$,因数之和为$\prod_{i=1}^{n}\sum_{k=0}^{a_i}p_i^k$。

有一个结论,$N!=\prod_{i=1}^{n}p_i^{a_i}$,则$a_i=\sum_{k=1}^{\infty}\frac{N}{p_i^k}$。

1 #include
2 #include
3 using namespace std; 4 typedef long long ll; 5 const int mo = 1e9 + 7; 6 int isnp[1005], p[1005], num, n; 7 8 ll calc(int n, ll d) { 9 ll res = 0;10 for (; n; n /= d) res += n / d;11 return res;12 }13 14 int main() {15 scanf("%d", &n);16 for (int i = 2; i <= n; ++i) {17 if (!isnp[i]) p[++num] = i;18 for (int j = i + i; j <= n; j += i) isnp[j] = 1;19 } ll ans = 1;20 for (int i = 1; i <= num && p[i] <= n; ++i) (ans *= (calc(n, p[i]) + 1)) %= mo;21 printf("%lld\n", ans);22 return 0;23 }
View Code

很显然,跳到中间是不合适的。所以可以从左往右贪心。

1 #include
2 #include
3 using namespace std; 4 typedef long long ll; 5 int main() { 6 ll n, a, b, p, ans = 0, t; 7 cin >> n >> a >> b >> p; 8 for (int i = 1; i < n; ++i, p = t) { 9 cin >> t; ans += min((t - p) * a, b);10 } cout << ans << endl;11 return 0; 12 }
View Code

 

转载于:https://www.cnblogs.com/p0ny/p/8144509.html

你可能感兴趣的文章
Oracle体系结构
查看>>
用Modelsim仿真QII FFT IP核的时候出现的Error: Illegal target for defparam
查看>>
javascript Error对象详解
查看>>
nc 局域网聊天+文件传输(netcat)
查看>>
每天一个linux命令(25):linux文件属性详解
查看>>
go微服务框架go-micro深度学习(三) Registry服务的注册和发现
查看>>
python 重载方法有哪些特点 - 老王python - 博客园
查看>>
在Fedora8上安装MySQL5.0.45的过程
查看>>
设计模式之命令模式
查看>>
android 测试 mondey
查看>>
Spring AOP项目应用——方法入参校验 & 日志横切
查看>>
使用REST-Assured对API接口进行自动化测试
查看>>
王潮歌跨界指导HUAWEI P20系列发布会 颠覆传统 眼界大开!
查看>>
王高飞:微博已收购一直播 明年一季度重点是功能与流量打通
查看>>
趣头条发行区间7至9美元 预计9月14日美国上市
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>
HTML5音频audio属性
查看>>
ES6学习
查看>>
Centos7搭建Django环境
查看>>