公式:

上面的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(积性函数)相关推荐

  1. HDU 6134 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)

    实在太长了直接放题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6134 这题就是求 考虑当Gcd(i, j)==1时,除了j为1的情况,其它时候i/j一 ...

  2. 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 ...

  3. 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 ...

  4. 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 ...

  5. 2017 Multi-University Training Contest - Team 7:1008. Hard challenge(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  6. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  7. 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 ...

  8. 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 ...

  9. 2017 Multi-University Training Contest - Team 1

    2017 Multi-University Training Contest - Team 1 01     签到的 #include<bits/stdc++.h> using names ...

最新文章

  1. 我早年在Google学到的10条经验
  2. 实用工具---制作试卷
  3. Python 中的序列类型支持哪些公共操作
  4. CDQ 分治算法模板
  5. DAO(Data Access Object ,数据访问对象)设计模式
  6. SQL 备份还原单个表
  7. 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
  8. 读书笔记--《Understanding LSTM Networks》
  9. Java原子类中CAS的底层实现,java高级面试笔试题
  10. vue加跨域代理静态文件404_解决vue-router history模式和跨域代理 部署到IIS时404的一些问题...
  11. LTE学习:下行参考信号的总结
  12. WinForm 窗体基本属性、公共控件
  13. 理解OSEK NM原理,看完这个就够了
  14. html5鼠标右键事件,js鼠标右键点击事件
  15. python seek_关于python:seek()函数?
  16. 同城跑腿微信小程序制作步骤_分享下同城跑腿小程序的作用
  17. octomap(1):octomap_server报错MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far
  18. 高中数学向量——基础概念篇
  19. 使用Famo.us 创建高性能移动 UI
  20. 计算机电源不通电 维修,电脑忽然不通电,换了电源也不行,是哪里坏了?

热门文章

  1. python项目开发实例-Python项目案例开发从入门到实战——爬虫、游戏
  2. 语音识别系统报告_2018-2024年中国语音识别系统行业市场发展格局及投资价值评估研究报告_中国产业信息网...
  3. 传统语音识别(GMM+HMM)
  4. php怎么输出汉字大写的时间,php汉字转首字母大写的方法是什么
  5. promise的链式调用
  6. 【设计模式笔记】代理模式
  7. jni开发-GetMethodID与CallObjectMethod的坑
  8. u3d+向服务器上传文件,unity3d向服务器传数据库
  9. 【特别版】计算机哲学对学习生活借鉴的几个例子
  10. 【PAT乙】1030 完美数列 (25分) 枚举