思路:

Lucas定理的模板题..

4403

//By SiriusRen
#include <cstdio>
using namespace std;
const int mod=;
#define int long long
int cases,N,L,R,fac[mod],inv[mod];
int C(int n,int m){
if(n<m)return ;
if(n<mod&&m<mod)return fac[n]*inv[n-m]%mod*inv[m]%mod;
return C(n/mod,m/mod)*C(n%mod,m%mod)%mod;
}
signed main(){
fac[]=inv[]=inv[]=;
for(int i=;i<mod;i++)fac[i]=fac[i-]*i%mod;
for(int i=;i<mod;i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod;
for(int i=;i<mod;i++)inv[i]=inv[i-]*inv[i]%mod;
scanf("%lld",&cases);
while(cases--)scanf("%lld%lld%lld",&N,&L,&R),printf("%lld\n",(C(N+R-L+,R-L+)-+mod)%mod);
}

2982

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define int long long
const int p=;
int fac[p],inv[p],n,m,cases;
int C(int i,int j){
if(i<j)return ;
if(i<p&&j<p)return fac[i]*inv[j]%p*inv[i-j]%p;
return C(i/p,j/p)*C(i%p,j%p)%p;
}
signed main(){
fac[]=fac[]=inv[]=inv[]=;
for(int i=;i<p;i++)fac[i]=fac[i-]*i%p;
for(int i=;i<p;i++)inv[i]=(p-p/i)*inv[p%i]%p;
for(int i=;i<p;i++)inv[i]=inv[i-]*inv[i]%p;
scanf("%lld",&cases);
while(cases--){
scanf("%lld%lld",&n,&m);
printf("%lld\n",C(n,m));
}
}

最新文章

  1. angularjs, nodejs, express, gulp, karma, jasmine 前端方案整合
  2. ARM体系的异常中断
  3. Spring的IOC
  4. FastJSON应用前测试
  5. Java方法区和运行时常量池溢出问题分析(转)
  6. static关键字,引发的spring普通类获取spring的bean的思考
  7. 基于 Django2 实现邮箱注册登录功能
  8. iOS开发简记(4):录音AVAudioRecorder
  9. Scrapy项目创建以及目录详情
  10. 接口测试基础——第3篇smtplib发送带图片的邮件
  11. git安装及基础用法
  12. Two Sum II - Input array is sorted LT167
  13. Curling 2.0(DFS简单题)
  14. java Stack(栈)
  15. LOJ2540. 「PKUWC2018」随机算法【概率期望DP+状压DP】
  16. React Native常用组件样式总结
  17. 浅谈 PHP 中的多种加密技术及代码示例
  18. 对pandas的dataframe绘图并保存
  19. 学习Selenium同学必看
  20. 获取select标签选中的值

热门文章

  1. SQL Server对数据进行修改
  2. 去除安卓apk中的广告
  3. java web设置全局context参数
  4. Mysql 之实现多字段模糊查询
  5. 数据库操作(一)DML
  6. Js 删除前弹出确认框
  7. HDU 4405 Aeroplane chess(概率dp,数学期望)
  8. UVA133 - The Dole Queue【紫书例题4.3】
  9. BZOJ1001 BJOI2006 狼抓兔子
  10. greenplum资源队列