bzoj 4402 Claris的剑 组合数学
来源:互联网 发布:韩国制衣软件 编辑:程序博客网 时间:2024/04/30 21:20
#include<cstdio>#include<iostream>#define LL long long #define maxn 4000005using namespace std;int N=4000000;LL mod=1e9+7;LL fac[maxn],inv[maxn];LL pow(LL x,int y){ if(y==0) return 1; if(y==1) return x; LL a=pow(x,y/2); a=(a*a)%mod; if(y%2) return (a*x)%mod; return a;}void init(){ fac[0]=1; for(int i=1;i<=N;i++) fac[i]=(fac[i-1]*i)%mod; inv[N]=pow(fac[N],mod-2)%mod; for(int i=N-1;i>=1;i--) inv[i]=(inv[i+1]*(i+1))%mod; inv[0]=1;}LL calc(int n,int m){ if(n<0) return 0; n>>=1;m--; LL ans=fac[m+n]; ans*=inv[m];ans%=mod; ans*=inv[n];ans%=mod; return ans;}int main(){ init(); int n,m; scanf("%d%d",&n,&m); LL ans=0; if(n&&m) ans++; m=min(n,m); for(int i=2;i<=m;i++) { ans+=calc(n-i,i); ans+=calc(n-i-1,i);ans%=mod; } cout<<(ans%mod)<<endl;}
1 0
- BZOJ 4402: Claris的剑|组合数学
- bzoj 4402 Claris的剑 组合数学
- [组合数学 思路题] BZOJ 4402 Claris的剑
- [BZOJ4402]Claris的剑(组合数学)
- bzoj 4402: Claris的剑
- 【BZOJ】4402 Claris的剑
- bzoj 4402 Claris的剑
- BZOJ 4402 Claris的剑
- bzoj4402: Claris的剑
- BZOJ4402: Claris的剑
- bzoj4402 Claris的剑
- bzoj 3997 组合数学
- bzoj4402 claris的剑 数论
- BZOJ 3028 食物 组合数学
- BZOJ 3997: [TJOI2015]组合数学
- BZOJ 3997: [TJOI2015]组合数学
- 【BZOJ 3997】: [TJOI2015]组合数学
- BZOJ 3997 TJOI2015 组合数学
- 2016年大数据80篇爆款文章:这一年你追过的那些技术
- .net项目技术选型总结
- 欢迎使用CSDN-markdown编辑器
- 用Oracle的函数,判断点是否在多边形内
- for update 数据库锁机制(mysql下测试)
- bzoj 4402 Claris的剑 组合数学
- GitHub查找优秀的开源项目和一些资源福利
- JAVA基础
- 树链剖分 — 轻重边路径剖分
- java线程同步的三种方法[synchronized关键字,Lock加锁,信号量Semaphore]
- JS跨域请求
- 拯救你的数据 通过日志恢复MSSQL数据
- CentOS7安装配置mysql5.7
- 更新UI操作需要在主线程完成