lucas+卡特兰数
N * N的方格,从左上到右下画一条线。一个机器人从左上走到右下,只能向右或向下走。并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10007的结果。
经典的卡特兰数模型,只要取模时+一个lucas就行了:模数较小时一般采用lucas定理,很好懂
#include<iostream> #include<cstdio> #include<algorithm> #define p 10007 using namespace std; #define ll long long ll n; ll pow(ll a,ll b,ll pp) {ll tmp=a,ans=1ll;while(b){if(b%2){ans=ans*tmp%p;}tmp=tmp*tmp%p;b>>=1;}return ans; } ll C(ll n,ll m) {if(n<m) return 0;ll ans=1;for (ll i=1;i<=m;++i){ll a=(n+i-m)%p;ll b=i%p;ans=ans*(a*pow(b,p-2,p)%p)%p;}return ans; } ll lucas(ll a,ll b) {if(b==0) return 1; return lucas(a/p,b/p)*C(a%p,b%p)%p; } int main(){scanf("%lld",&n);n--;printf("%lld",(lucas(2*n,n)*pow(n+1,p-2,p)%p*2)%p); }
这里面的C感觉可以预处理一下前缀和
转载于:https://www.cnblogs.com/dancer16/p/7600200.html
lucas+卡特兰数相关推荐
- bzoj 1856: [Scoi2010]字符串(卡特兰数)
1856: [Scoi2010]字符串 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1604 Solved: 904 [Submit][Status ...
- 组合数求法、卡特兰数
一.组合数的计算方法 首先组合和排列数的定义在高中阶段已经知晓,这里主要探讨在算法竞赛中的应用.首先,我们通常把 C n m C_{n}^{m} Cnm写成 ( n m ) \tbinom{n}{m ...
- Catalan数——卡特兰数
今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来 后来查了下,原来是Catalan数.悲剧啊,现在整理一下 Catalan数--卡特兰数] 一.Catalan数的定义令h( ...
- 【COGS】2287:[HZOI 2015]疯狂的机器人 FFT+卡特兰数+排列组合
[题意][COGS 2287][HZOI 2015]疯狂的机器人 [算法]FFT+卡特兰数+排列组合 [题解]先考虑一维的情况,支持+1和-1,前缀和不能为负数,就是卡特兰数的形式. 设C(n)表示第 ...
- 关于卡特兰数及典型例题
关于卡特兰数: f[0] = 1, f[1] = 1; for(int i = 2; i <= n; i++)for(int j = 0; j < i; j++)f[i] += f[j] ...
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- 先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)
除了逻辑清晰的挨个画出来之外,还有一种方法需要大家牢记! 因为前序序列和中序序列可以唯一地确定一棵二叉树,并且题目已经给出了先序序列,所以我们只需要知道由该先序序列可以确定多少个中序序列即可,确定多少 ...
- zcmu-1934(卡特兰数大数取模(逆元))
1934: ly的二叉树 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 42 Solved: 9 [Submit][Status][Web Boar ...
- 洛谷 P1044 栈 [卡特兰数]
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即 poppop (从栈顶弹出一个元素)和 pushpush (将一个元素进栈). 栈 ...
- BZOJ4001[TJOI2015]概率论——卡特兰数
题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设 ...
最新文章
- 马斯克放话,星链率先从SpaceX分拆上市,曾预计带来300亿美元营收
- C++中左移操作符的重载
- GARFIELD@01-16-2005
- 深度学习之自编码器(1)自编码器原理
- spark入门_入门必读 | Spark 论文导读
- 吴恩达神经网络和深度学习-学习笔记-34-LeNet-5 + Alexnet + VGG
- 什么是servlet?---总结一
- 计算机解决最小二乘法的过程,线性最小二乘法在计算机化学中的应用.doc
- Android 渠道抽成,内容为主,渠道为辅,国内Android商店何时才能调整分成比?
- 使用EXCEL计算并绘制RSI指标
- 第二章 从优化业务流程谈信息集成的必要性
- 《Neural Architectures for Nested NER through Linearization》
- 创建zemax非序列光学系统
- 文件上传漏洞---Web渗透学习
- tp5用redis防高并发
- 男孩子学计算机好不好,适合男孩学的专业 男生最吃香的专业
- 关于Android终端机串口的理解
- 外国文学最佳中译本合集-选
- 一文带你读懂HTTP协议的前世今生
- NET开源 .NET Open Source Developer Projects