博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 57C (1-n递增方案数,组合数取模,lucas)
阅读量:5290 次
发布时间:2019-06-14

本文共 650 字,大约阅读时间需要 2 分钟。

这个题相当于求从1-n的递增方案数,为C(2*n-1,n);

取模要用lucas定理,附上代码:

#include
using namespace std;typedef long long LL;LL mod=1000000007;LL quick_mod(LL a,LL b){ LL ans=1%mod; while(b){ if(b&1){ ans=ans*a%mod; b--; } b>>=1; a=a*a%mod; } return ans;} LL C(LL n,LL m){ if(m>n)return 0; LL ans=1; for(int i=1;i<=m;i++){ LL a=(n+i-m)%mod; LL b=i%mod; ans=ans*(a*quick_mod(b,mod-2)%mod)%mod; } return ans;}LL lucas(LL n,LL m){ if(m==0)return 1; return C(n%mod,m%mod)*lucas(n/mod,m/mod)%mod;}int main(){ LL a,ans; scanf("%lld",&a); ans=(2*lucas(a*2-1,a)%mod-a+mod)%mod; printf("%lld\n",ans);}

  

转载于:https://www.cnblogs.com/pkgunboat/p/9483971.html

你可能感兴趣的文章
查看webservice服务下的所有方法和参数类型
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
SpringBoot13 利用mybatis-plus自动生成entity、dao、service、controller
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
maven内置属性
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
Vrrp和Hsrp的区别
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>