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+卡特兰数相关推荐

  1. bzoj 1856: [Scoi2010]字符串(卡特兰数)

    1856: [Scoi2010]字符串 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1604  Solved: 904 [Submit][Status ...

  2. 组合数求法、卡特兰数

    一.组合数的计算方法 首先组合和排列数的定义在高中阶段已经知晓,这里主要探讨在算法竞赛中的应用.首先,我们通常把 C n m C_{n}^{m} Cnm​写成 ( n m ) \tbinom{n}{m ...

  3. Catalan数——卡特兰数

    今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来 后来查了下,原来是Catalan数.悲剧啊,现在整理一下 Catalan数--卡特兰数] 一.Catalan数的定义令h( ...

  4. 【COGS】2287:[HZOI 2015]疯狂的机器人 FFT+卡特兰数+排列组合

    [题意][COGS 2287][HZOI 2015]疯狂的机器人 [算法]FFT+卡特兰数+排列组合 [题解]先考虑一维的情况,支持+1和-1,前缀和不能为负数,就是卡特兰数的形式. 设C(n)表示第 ...

  5. 关于卡特兰数及典型例题

    关于卡特兰数: f[0] = 1, f[1] = 1; for(int i = 2; i <= n; i++)for(int j = 0; j < i; j++)f[i] += f[j] ...

  6. hdu1032 Train Problem II (卡特兰数)

    题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能.    (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...

  7. 先序序列为a、b、c、d的不同二叉树的个数是多少(卡特兰数)

    除了逻辑清晰的挨个画出来之外,还有一种方法需要大家牢记! 因为前序序列和中序序列可以唯一地确定一棵二叉树,并且题目已经给出了先序序列,所以我们只需要知道由该先序序列可以确定多少个中序序列即可,确定多少 ...

  8. zcmu-1934(卡特兰数大数取模(逆元))

    1934: ly的二叉树 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 42  Solved: 9 [Submit][Status][Web Boar ...

  9. 洛谷 P1044 栈 [卡特兰数]

    题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即 poppop (从栈顶弹出一个元素)和 pushpush (将一个元素进栈). 栈 ...

  10. BZOJ4001[TJOI2015]概率论——卡特兰数

    题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设 ...

最新文章

  1. 马斯克放话,星链率先从SpaceX分拆上市,曾预计带来300亿美元营收
  2. C++中左移操作符的重载
  3. GARFIELD@01-16-2005
  4. 深度学习之自编码器(1)自编码器原理
  5. spark入门_入门必读 | Spark 论文导读
  6. 吴恩达神经网络和深度学习-学习笔记-34-LeNet-5 + Alexnet + VGG
  7. 什么是servlet?---总结一
  8. 计算机解决最小二乘法的过程,线性最小二乘法在计算机化学中的应用.doc
  9. Android 渠道抽成,内容为主,渠道为辅,国内Android商店何时才能调整分成比?
  10. 使用EXCEL计算并绘制RSI指标
  11. 第二章 从优化业务流程谈信息集成的必要性
  12. 《Neural Architectures for Nested NER through Linearization》
  13. 创建zemax非序列光学系统
  14. 文件上传漏洞---Web渗透学习
  15. tp5用redis防高并发
  16. 男孩子学计算机好不好,适合男孩学的专业 男生最吃香的专业
  17. 关于Android终端机串口的理解
  18. 外国文学最佳中译本合集-选
  19. 一文带你读懂HTTP协议的前世今生
  20. NET开源 .NET Open Source Developer Projects

热门文章

  1. C语言课程学习的总结
  2. Openssl crl2pkcs7命令
  3. 在有网络还是比较好解决软件上的问题
  4. 如何向枚举中添加新值
  5. matlab中realmax
  6. Mix Up Studio for Mac - 便携混音工作室
  7. SameMovie HBOMax Video Downloader for Mac如何在 Mac 上下载 HBO Max 视频?
  8. 您对TOP Server的德语、中文和日语语言支持了解吗?(一)
  9. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
  10. 百度地图坐标转换的异步回调事件