博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1641 [SCOI2010]生成字符串
阅读量:5226 次
发布时间:2019-06-14

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

P1641 [SCOI2010]生成字符串

题目描述

lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?

输入输出格式

输入格式:

输入数据是一行,包括2个数字n和m

输出格式:

输出数据是一行,包括1个数字,表示满足要求的字符串数目,这个数可能会很大,只需输出这个数除以20100403的余数


思路:模拟卡特兰数的推导过程,找到不合法情况的双射,用总情况-不合法情况即可

答案为\(C_{m+n}^m-C_{m+n}^{m-1}\)


Code:

#include 
#define ll long longconst ll mod=20100403;ll fac[1000010];ll inv(ll b,ll k){ ll f=1; while(k) { if(k&1) f=f*b%mod; b=b*b%mod; k>>=1; } return f;}ll C(ll n,ll m){ return fac[m]*inv(fac[n],mod-2)%mod*inv(fac[m-n],mod-2)%mod;}int main(){ ll n,m; scanf("%lld%lld",&n,&m); fac[0]=1; for(int i=1;i<=n+m;i++) fac[i]=fac[i-1]*i%mod; printf("%lld\n",((C(m,m+n)-C(m-1,m+n))%mod+mod)%mod); return 0;}

2018.8.9

转载于:https://www.cnblogs.com/butterflydew/p/9447606.html

你可能感兴趣的文章
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>
软件测试-----Graph Coverage作业
查看>>
django ORM创建数据库方法
查看>>
创建Oracle synonym 详解
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>
linux查看端口占用
查看>>
Sql常见面试题 受用了
查看>>
知识不是来炫耀的,而是来分享的-----现在的人们却…似乎开始变味了…
查看>>
CSS背景颜色、背景图片、平铺、定位、固定
查看>>
口胡:[HNOI2011]数学作业
查看>>
我的第一个python web开发框架(29)——定制ORM(五)
查看>>
中国剩余定理
查看>>
基础笔记一
查看>>
uva 10137 The trip
查看>>
Count Numbers
查看>>
编写高质量代码改善C#程序的157个建议——建议110:用类来代替enum
查看>>
网卡bond技术
查看>>
UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
查看>>
UNIX基础知识之输入和输出
查看>>