BZOJ P4403 序列统计
来源:互联网 发布:js匿名函数 编辑:程序博客网 时间:2024/06/12 01:32
这题难点就在于公式的推导
设k=r-l+1,那么我们相当于k个数,每个数选择xi个,使最后的总和为n
x1+x2+…+xk=n 这其实就相当于n个球放到k个盒子中,允许出现空盒子的方案数
ans=∑(i=1……n)C(i+k,k)
可以利用杨辉三角,C(n,m)=C(n-1,m)+C(n-1,m-1);
ans=C(1+k,k)+C(2+k,k)+C(3+k,k)+……+C(n+k,k)
=C(1+k,1+k)-1+C(1+k,k)+C(2+k,k)+C(3+k,k)+……+C(n+k,k)
=(C(1+k,1+k)+C(1+k,k))+C(2+k,k)+C(3+k,k)+……+C(n+k,k)-1
=(C(2+k,1+k)+C(2+k,k))+C(3+k,k)+……+C(n+k,k)-1
=(C(3+k,1+k)+C(3+k,k))+……+C(n+k,k)-1
……
=C(n+k+1,k+1)-1
直接Lucas定理搞就可以了
lucas:C(n,m)%p=C(n/p,m/p)&C(n%p,m%p)
#include<iostream>#include<algorithm>using namespace std;const int maxn=1e6+3;const int mod=1e6+3;long long fac[maxn];long long qpow(long long a,long long b){ long long ans=1;a%=mod; for(long long i=b;i;i>>=1,a=a*a%mod){ if(i&1){ ans=ans*a%mod;}} return ans;}long long C(long long n,long long m){ if(m>n||m<0){ return 0;} long long s1=fac[n];long long s2=fac[n-m]*fac[m]%mod; return s1*qpow(s2,mod-2)%mod;}long long lucas(long long n,long long m){ long long res=1; while(n||m){ res=res*C(n%mod,m%mod)%mod; n/=mod;m/=mod; } return res;}int main(){ fac[0]=1; for(int i=1;i<maxn;i++){ fac[i]=fac[i-1]*i%mod;} int t; cin>>t; while(t--){ int x,y,z; cin>>x>>y>>z;y=z-y+1;cout<<(lucas(x+y,y)-1+mod)%mod<<endl; }}/*21 4 52 4 5*/
1 0
- BZOJ P4403 序列统计
- bzoj 4403: 序列统计
- BZOJ 3992 SDOI2015 序列统计
- BZOJ 3992 [SDOI2015]序列统计
- BZOJ 4403: 序列统计 Lucas
- 【BZOJ】4403 序列统计 Lucas
- BZOJ 3992 [SDOI2015]序列统计 NTT
- BZOJ 4403 序列统计 Lucas定理
- BZOJ 4403: 序列统计|Lucas定理
- [组合数学] BZOJ 4403 序列统计
- bzoj 3992: [SDOI2015]序列统计 NTT
- BZOJ 3992 [SDOI2015]序列统计 NTT
- [BZOJ 4403]序列统计:Lucas定理
- [BZOJ]4403: 序列统计 Lucas定理
- BZOJ 3992 Sdoi2015 序列统计 快速数论变换
- 【 bzoj 3992 】 [SDOI2015]序列统计 - NTT 生成函数
- 【BZOJ 4403】【推公式+Lucas定理】 序列统计
- 【BZOJ】3992 [SDOI2015]序列统计 【离散对数下的NTT】
- EXCEL VB简单使用
- telnet介绍
- 求职笔记-操作系统-缓冲区溢出
- React 周期性改变字体透明度
- HYSBZ-1067 降雨量 RMQ
- BZOJ P4403 序列统计
- cacti install
- 【web漏洞百例】4.不安全的自动完成、未释放的资源
- 求职笔记-操作系统-分段式存储管理、分页式存储管理的区别?
- 基于servlet实现微信页面授权(经过测试)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) G
- C语言实现简单的web服务器
- window配置临时环境变量
- hdu 1800 Flying to the Mars