传送门

首先,进行如下处理

如果$L$是$K$的倍数,那么让它变成$\frac{L}{K}$,否则变成$\frac{L}{K}+1$

把$H$变成$\frac{H}{K}$

那么,现在的问题就变成了在$[L,H]$范围内选$n$个数并令他们的$gcd$为$1$的方案数

然后令$f[i]$表示选出的数最大公约数为$i$且所有数不全相同的方案数,那么设$x$为$[L,H]$之间$i$的倍数的个数,那么$f[i]=x^n-x$

然而因为这种情况求出来的只是有公约数为$i$的情况,所以还要容斥一波搞掉公约数为$2*i,3*i...$的情况,只要减一下就好了

然后如果$L$为$1$那么是可以选的所有数都是$1$的,那么答案$+1$

 //minamoto
#include<cstdio>
const int N=1e5+,mod=1e9+;
int n,K,L,H,f[N];
int ksm(int x,int y){
int res=;
while(y){
if(y&) res=1ll*res*x%mod;
x=1ll*x*x%mod,y>>=;
}
return res;
}
int main(){
// freopen("testdata.in","r",stdin);
scanf("%d%d%d%d",&n,&K,&L,&H);
L=L%K?L/K+:L/K;H/=K;
if(L>H) return puts(""),;
for(int i=;i<=H-L;++i){
int l=L,r=H;
l=l%i?l/i+:l/i;r/=i;
if(l>r) continue;
f[i]=(ksm(r-l+,n)-(r-l+)+mod)%mod;
}
for(int i=H-L;i;--i)
for(int j=(i<<);j<=H-L;j+=i)
f[i]=(f[i]-f[j]+mod)%mod;
if(L==) (f[]+=)%=mod;
printf("%d\n",f[]);
return ;
}

洛谷P3172 [CQOI2015]选数(容斥)的更多相关文章

  1. [bzoj3930] [洛谷P3172] [CQOI2015] 选数

    Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...

  2. (noip模拟十七)【BZOJ3930】[CQOI2015]选数-容斥水法

    Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...

  3. P3172 [CQOI2015]选数(莫比乌斯反演)

    [题目链接] https://www.luogu.org/problemnew/show/P3172 [题解] https://www.luogu.org/blog/user29936/solutio ...

  4. 【洛谷p1036】选数

    (一定要声明我太蒟了,这个题扣了一上午……) 算法标签: …… dfs真的不是我所擅长的qwq,这道题的思路其实很简单,就是先dfs搜索所有可能的和,然后判断是不是质数.说着好说,然鹅并不好写: 第一 ...

  5. 洛谷 1447 [NOI2010]能量采集——容斥/推式子

    题目:https://www.luogu.org/problemnew/show/P1447 1.容斥原理 求 f [ i ] 表示 gcd==i 的对数,先 f [ i ] = (n/i) * (m ...

  6. luogu P3172 [CQOI2015]选数

    传送门 颓了一小时柿子orz 首先题目要求的是\[\sum_{x_1=l}^{r}\sum_{x_2=l}^{r}...\sum_{x_n=l}^{r}[gcd(x_1,x_2...x_n)=k]\] ...

  7. 洛谷 [CQOI2015]选数 解题报告

    [CQOI2015]选数 题目描述 我们知道,从区间\([L,H]\)(\(L\)和\(H\)为整数)中选取\(N\)个整数,总共有\((H-L+1)^N\)种方案. 小\(z\)很好奇这样选出的数的 ...

  8. bzoj3930[CQOI2015]选数 容斥原理

    3930: [CQOI2015]选数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1383  Solved: 669[Submit][Status] ...

  9. BZOJ 3930: [CQOI2015]选数 递推

    3930: [CQOI2015]选数 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pro ...

随机推荐

  1. 采集练习(十二) python 采集之 xbmc 酷狗电台插件

    前段时间买了个树莓派才知道有xbmc这么强大的影音软件(后来我逐渐在 电脑.手机和机顶盒上安装xbmc),在树莓派上安装xbmc后树莓派就成为了机顶盒,后面在hdpfans论坛发现了jackyspy  ...

  2. 3 《锋利的jQuery》jQuery中的DOM操作

    DOM操作分(1)DOM Core(核心):document.geElementsByTagName("form");/ element.getAttribute("sr ...

  3. sudo -i和sudo -s

    sudo -i,加载用户变量,并跳转到目标用户home目录:sudo -s,不加载用户变量,不跳转目录: sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码, ...

  4. SDOI 2017 Day1

    日期:2017-04-10 题解: 第一题: 题目大意:求fi(gcd(i,j))的乘积  i,j属于[1,1e6],数据组数1000组. 类别:套路题. 第二题:BZOJ原题. 题解:LCT套线段树 ...

  5. win10专业版激活(亲测可用)

    1.slmgr.vbs /upk 2.slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 3.slmgr /skms zh.us.to 4.slmgr /ato

  6. matlab之mean()函数

    mean(A,1):沿着第一维(列)求平均值: mean(A,2):沿着第二维(行)求平均值: 举例: Z=[1 2 3;4 5 6]; >> mean(Z,1) ans = 2.5000 ...

  7. 使用libcurl,根据url下载对应html页面

    1. [图片] Capture.JPG ​2. [代码]GetPageByURL //static member variable definestring GetPageByURL::m_curPa ...

  8. 网络编程学习笔记-listen函数

    listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程.在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接 ...

  9. BZOJ_3672_ [Noi2014]购票_CDQ分治+斜率优化

    BZOJ_3672_ [Noi2014]购票_CDQ分治+斜率优化 Description  今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参 ...

  10. 在python 3.6下用pip 安装第三方库,比如pip install requests,老是报错 Fatal error in launcher: Unable to create process using '"'

    解决办法:我把python.exe 修改为了python3.exe ,为了兼容python2, 后来把python2从环境变量里删除,把python3.exe修改为了python.exe 就解决了,再 ...