BZOJ 1856 SCOI 2010 字符串 卡特兰数
来源:互联网 发布:大司马淘宝 编辑:程序博客网 时间:2024/06/16 05:53
出入栈问题。。。
于是直接算就好了。。没用分解因数的,于是150ms。。。
#include <cstdio>#include <cstdlib>typedef long long ll;const ll mod = 20100403;ll quick_pow(ll a, ll b) { ll c = 1; for (; b; b >>= 1, a = (a * a) % mod) if (b & 1) c = (c * a) % mod; return c;}ll inv(ll a) { return quick_pow(a, mod - 2); }int main() { ll n, m, dm, dm1 = 1, i, j, dnm = 1; scanf("%I64d%I64d", &n, &m); for (i = 2; i < m; ++i) dm1 = dm1 * i % mod; dm = dm1 * m % mod; for (i = n + 2; i <= n + m; ++i) dnm = dnm * i % mod; i = dnm * (n + 1) % mod * inv(dm) % mod; j = dnm * inv(dm1) % mod; printf("%I64d", (i - j + mod) % mod); return 0;}
1856: [Scoi2010]字符串
Description
lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?
Input
输入数据是一行,包括2个数字n和m
Output
输出数据是一行,包括1个数字,表示满足要求的字符串数目,这个数可能会很大,只需输出这个数除以20100403的余数
Sample Input
2 2
Sample Output
2
HINT
对于30%的数据,保证1<=m<=n<=1000
对于100%的数据,保证1<=m<=n<=1000000
0 0
- BZOJ 1856 SCOI 2010 字符串 卡特兰数
- [组合数学 卡特兰数] BZOJ 1856 [Scoi2010]字符串
- bzoj 1856: [Scoi2010]字符串(卡特兰数)
- bzoj 1485 卡特兰数
- 【BZOJ 1856】【SCOI 2010】字符串
- [BZOJ 1856][SCOI 2010]字符串(组合数学)
- bzoj1856: [Scoi2010]字符串 卡特兰数
- 【卡特兰数】BZOJ1856(Scoi2010)[字符串]题解
- 卡特兰数,高精度卡特兰数
- BZOJ 2822 AHOI2012 树屋阶梯 卡特兰数
- 【bzoj 2822】树屋阶梯详解 卡特兰数性质
- bzoj 1485: [HNOI2009]有趣的数列 (卡特兰数)
- bzoj 3907: 网格 (卡特兰数+组合数学+高精度)
- bzoj 1485: [HNOI2009]有趣的数列 卡特兰数
- BZOJ 1485: [HNOI2009]有趣的数列 卡特兰数
- bzoj 1485 [HNOI2009]有趣的数列 卡特兰数
- bzoj 2822 [AHOI2012]树屋阶梯 卡特兰数
- 卡特兰数
- 【MySQL】统一控制台-pma-PHP编码!解决中文乱码问题
- 浅析代理模式
- [有上下界的网络流]
- c++实验2-标准体重
- 联想昭阳E47A无线网卡指示灯不亮,搜不到无线信号,解决办法
- BZOJ 1856 SCOI 2010 字符串 卡特兰数
- 如何让eclipse恢复默认布局
- 大小端模式
- Genymotion提示To find out the cause of the problem,start the virtual device from VirtualBox
- lintcode:Permutations II
- 打印二叉树所有路径---JAVA实现
- mybatis遇到的问题
- Set实现没有重复元素
- eclipse 如何快捷的导入包