2017 Multi-University Training Contest - Team 4:1003. Counting Divisors(积性函数)
公式:
上面的a|b表示a是b的约数,ai是每个质因数p分解后的项数
枚举每个x(l<=x<=r)
对于每个数暴力分解小于sqrt(r)的质数就好了, 因为大于sqrt(r)的质数最多只有一个,且对应的ai也只能为1
也就是说如果分解完那个数不是1的话就将d(x^k)乘上(k+1)
最后全加在一起
#include<stdio.h>
#include<math.h>
#define mod 998244353
#define LL long long
LL cnt, flag[1000005] = {1,1}, pri[1000005], val[1000005], d[1000005];
int main(void)
{LL T, l, r, k, i, j, ans, sum;for(i=2;i<=1000001;i++){if(flag[i])continue;for(j=i*i;j<=1000001;j+=i)flag[j] = 1;pri[++cnt] = i;}scanf("%lld", &T);while(T--){ans = 0;scanf("%lld%lld%lld", &l, &r, &k);for(i=l;i<=r;i++)val[i-l] = i, d[i-l] = 1;for(i=1;pri[i]*pri[i]<=r;i++){sum = l%pri[i];j = (pri[i]-sum)%pri[i];for(;j<=r-l;j+=pri[i]){sum = 0;while(val[j]%pri[i]==0)sum++, val[j] /= pri[i];d[j] = d[j]*(sum*k+1)%mod;}}for(i=0;i<=r-l;i++){if(val[i]>1)d[i] = (d[i]*(k+1))%mod;ans = (ans+d[i])%mod;}printf("%lld\n", ans);}return 0;
}
2017 Multi-University Training Contest - Team 4:1003. Counting Divisors(积性函数)相关推荐
- HDU 6134 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)
实在太长了直接放题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6134 这题就是求 考虑当Gcd(i, j)==1时,除了j为1的情况,其它时候i/j一 ...
- 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard(...)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...
- 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...
- 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...
- 2017 Multi-University Training Contest - Team 7:1008. Hard challenge(模拟)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...
- 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...
- 2017 Multi-University Training Contest - Team 7:1005. Euler theorem(答案是(n+3)/2)
其他题目题解: 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard 2017 Multi-Univer ...
- 2017 Multi-University Training Contest - Team 3 Kanade's sum hd6058
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6058 题目: Kanade's sum Time Limit: 4000/2000 MS (J ...
- 2017 Multi-University Training Contest - Team 1
2017 Multi-University Training Contest - Team 1 01 签到的 #include<bits/stdc++.h> using names ...
最新文章
- 我早年在Google学到的10条经验
- 实用工具---制作试卷
- Python 中的序列类型支持哪些公共操作
- CDQ 分治算法模板
- DAO(Data Access Object ,数据访问对象)设计模式
- SQL 备份还原单个表
- 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
- 读书笔记--《Understanding LSTM Networks》
- Java原子类中CAS的底层实现,java高级面试笔试题
- vue加跨域代理静态文件404_解决vue-router history模式和跨域代理 部署到IIS时404的一些问题...
- LTE学习:下行参考信号的总结
- WinForm 窗体基本属性、公共控件
- 理解OSEK NM原理,看完这个就够了
- html5鼠标右键事件,js鼠标右键点击事件
- python seek_关于python:seek()函数?
- 同城跑腿微信小程序制作步骤_分享下同城跑腿小程序的作用
- octomap(1):octomap_server报错MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far
- 高中数学向量——基础概念篇
- 使用Famo.us 创建高性能移动 UI
- 计算机电源不通电 维修,电脑忽然不通电,换了电源也不行,是哪里坏了?
热门文章
- python项目开发实例-Python项目案例开发从入门到实战——爬虫、游戏
- 语音识别系统报告_2018-2024年中国语音识别系统行业市场发展格局及投资价值评估研究报告_中国产业信息网...
- 传统语音识别(GMM+HMM)
- php怎么输出汉字大写的时间,php汉字转首字母大写的方法是什么
- promise的链式调用
- 【设计模式笔记】代理模式
- jni开发-GetMethodID与CallObjectMethod的坑
- u3d+向服务器上传文件,unity3d向服务器传数据库
- 【特别版】计算机哲学对学习生活借鉴的几个例子
- 【PAT乙】1030 完美数列 (25分) 枚举