思路:

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));
}
}

BZOJ 4403 2982 Lucas定理模板的更多相关文章

  1. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  2. 大组合数取模之lucas定理模板,1<=n<=m<=1e9,1<p<=1e6,p必须为素数

    typedef long long ll; /********************************** 大组合数取模之lucas定理模板,1<=n<=m<=1e9,1&l ...

  3. BZOJ 2142: 礼物 [Lucas定理]

    2142: 礼物 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1294  Solved: 534[Submit][Status][Discuss] ...

  4. Lucas定理模板【bzoj2982】【combination】

    (上不了p站我要死了,侵权度娘背锅) Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ ...

  5. 【组合数+Lucas定理模板】HDU 3037 Saving

    acm.hdu.edu.cn/showproblem.php?pid=3037 [题意] m个松果,n棵树 求把最多m个松果分配到最多n棵树的方案数 方案数有可能很大,模素数p 1 <= n, ...

  6. lucas定理 模板

    lucas定理 (nm)&VeryThinSpace;mod&VeryThinSpace;p=(⌊np⌋⌊mp⌋)(n&VeryThinSpace;mod&VeryTh ...

  7. Lucas定理模板

    用于大组合数对p取模的计算. #include <cstdio> #include <iostream> #include <cmath> #include < ...

  8. HDU 3037 Saving Beans(Lucas定理模板题)

    Problem Description Although winter is far away, squirrels have to work day and night to save beans. ...

  9. xdoj-1057(Lucas定理的证明及其模板)

    Lucas定理的证明: 转自百度百科(感觉写的还不错) 首先你需要这个算式:    ,其中f > 0&& f < p,然后 (1 + x) nΞ(1 + x) sp+q Ξ ...

随机推荐

  1. js 响应事件

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. Js 字符串中提取数字

    一 parseInt()方法: 首先想到的是js提供的parseInt方法,例子: var str ="4500元"; var num = parseInt(str); alert ...

  3. Django逻辑关系

    title: Django学习笔记 subtitle: 1. Django逻辑关系 date: 2018-12-14 10:17:28 --- Django逻辑关系 本文档主要基于Django2.2官 ...

  4. atcoder.keyence2019.contest E-Connecting Cities

    真是道好题啊,当时怎么想都没想出来... 传送门 简述题意: 有n个点,每个点有一个权值Ai,连接i,j两个点的代价是 |i−j|×D+Ai+Aj  其中D是给定的常数,问把n个点联通的最小代价 1≤ ...

  5. eas之利用KDTableHelper批量填充数据

    // 下述代码将创建一个KDTable,并指定列名.表头单元格的显示值.和表体数据KDTable table = new KDTable();String [] columnKeys = new St ...

  6. eas之编辑表单元格

    --指定表列行单元不可编辑 // 锁定表格.行.列.单元 table.getStyleAttributes().getProtection().setLocked(true); row.getStyl ...

  7. GDI 画刷(10)

    创建画刷 调用 CreateSoildBrush.CreateHatchBrush.CreateBrushIndirect 函数可以创建画刷. CreateSoildBrush:创建实心画刷: Cre ...

  8. 类的定义与实例化、构造函数和初始化表(day04)

    十三 类的定义与实例化 类的一般形式 class/struct 类名:继承表{ 访问控制限定符: 类名(形参表):初始化表{}//构造函数 ~类名(void){}//析构函数 返回类型 函数名(形参表 ...

  9. 洛谷P1996 约瑟夫问题【队列】

    题目背景 约瑟夫是一个无聊的人!!! 题目描述 n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,--依次类推,直到所有的人都出 ...

  10. open-ldap服务安装(1)

    LDAP简介 LDAP 代表 轻量级目录访问协议.在我的理解中ldap就是一个数据库. 在LDAP中,目录条目以分层树状结构排序. 传统上,这种结构反映了地理和组织边界,表示国家/地区的条目显示在树的 ...