https://www.lydsy.com/JudgeOnline/problem.php?id=3930

https://blog.csdn.net/ws_yzy/article/details/50966171

求从区间[L,H]中可重复的选出n个数使其gcd=k的方案数

就是,莫比乌斯反演,我抄的代码所以没有提前求莫比乌斯函数。

自乘的倍数个方案要去掉。现在想想我最后自己想出来的代码好像是没问题的但是我忘了加上唯一的一个自乘特判情况了,wa了太多次最后没忍住读(抄)了一份ac代码,还是意志不够坚定也不够细心。

emmmm现在发现似乎好久没有写博客了呢。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define LL long long
const LL maxn=;
const LL p=(int)1e9+;
LL n,k,l,r;
LL ans[maxn]={};
LL mpow(LL x,LL y){
LL z=;
while(y){
if(y&)z=(z*x)%p;
x=(x*x)%p;
y>>=;
}
return z;
}
int main(){
scanf("%lld%lld%lld%lld",&n,&k,&l,&r);
LL a=r/k,b=l/k;if(l%k)++b;
for(LL i=r-l;i>=;--i){
LL ww=a/i-b/i; if(b%i==)++ww;
if(ww<=)continue;
ans[i]=(mpow(ww,n)-(ww%p)+p)%p;
for(int j=*i;j<=r-l;j+=i)ans[i]=(ans[i]-ans[j]+p)%p;
}
if(b==)ans[]=(ans[]+)%p;
printf("%lld\n",ans[]);
return ;
}

最新文章

  1. java学习笔记之IO一()
  2. SqlServer切换MySql总结
  3. angularjs的三目运算
  4. 结合C++和GDAL实现shapefile(shp)文件的创建和写入
  5. LeetCode 334 Increasing Triplet
  6. 列车时刻表查询 jqm/ajax/xml
  7. PHP设计模式之:策略模式
  8. DOS命令行使用pscp实现远程文件和文件夹传输(转)
  9. GroupLayout 布局
  10. struts2中的国际化
  11. POJ2676 Sudoku [数独]
  12. [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
  13. [Bullet3]常见物体和初始化
  14. ZJOI2017 Round#2 滚粗记
  15. css阴影,边框,渐变,背景
  16. nova创建虚拟机源码分析系列之五 nova源码分发实现
  17. pm2部署nodejs项目
  18. 板载 SPI-FLASH 的烧写方法
  19. Mongodb副本集+分片集群环境部署记录
  20. 去掉easyui datagrid内部虚线的方式。

热门文章

  1. WPF版公司的自动签到程序
  2. UML和模式应用4:初始阶段(5)--用例编写的准则
  3. Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】
  4. pl sql 存储过程 执行sql 锁死状态
  5. Java发送邮件时标题和发件人乱码
  6. PHP获取数组最后一个元素的键和值
  7. cf787c 博弈论+记忆化搜索
  8. windows 系统常用操作
  9. hdu 1455 N个短木棒 拼成长度相等的几根长木棒 (DFS)
  10. MySQL普通用户无法本地登录的解决方法及MySQL的用户认证算法