1856: [Scoi2010]字符串

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 2117  Solved: 1211
[Submit][Status][Discuss]

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

Source

Day2

/*
LuoguAC,bzoj总是CE我也很绝望啊
Catelan数。
等价于画一个坐标系从(0,0)到n-m且不越过y=-1(即1的个数>=0)这条线的方案数。
把y=n-m关于y=-1对称。则每一个不合法的解都对应一条从(0,0)到y=m-n-2的路径(画图可知)
答案就是总方案数减去不合法的路径条数。
考虑放x个1,则有 x-(n+m-x)=m-n-2 (到达y=m-n-2) 解得x=m-1。
不合法的路径条数就是C(m+n,m-1)
*/
#include<bits/stdc++.h> #define N 2000002
#define M 20100403
#define ll long long using namespace std;
ll n,m,ans;
ll inv[N]={,},fac[N]={,},f[N]={,}; int ll C(ll a,ll b)
{
return ((fac[a]*inv[b])%M*inv[a-b]%M)%M;
} inline void init()
{
fac[]=;
for(int i=;i<=n+m+;i++)
{
fac[i]=(fac[i-]%M*i)%M;
f[i]=((M-M/i)*f[M%i])%M;
inv[i]=(inv[i-]*f[i])%M;
}
} int main()
{
cin>>n>>m;
init();
ans=(C(n+m,n)%M-C(m+n,m-)%M+M)%M;
cout<<ans<<endl;
return ;
}
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mod 20100403
#define ll long long
using namespace std; ll n,m;
ll mul[],inv[]; ll c(ll x,ll y)
{
return (((mul[x]*inv[x-y])%mod)*inv[y])%mod;
} int main()
{
scanf("%lld%lld",&n,&m);
mul[]=mul[]=inv[]=inv[]=;
ll tot=m+n;
for(ll i=;i<=tot;i++)mul[i]=mul[i-]*i%mod;
for(ll i=;i<=tot;i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod;
for(ll i=;i<=tot;i++)inv[i]=inv[i]*inv[i-]%mod;
ll ans=((c(tot,n)-c(tot,n+))%mod+mod)%mod;
printf("%lld\n",ans);
return ;
}

最新文章

  1. IOS 日期的简洁格式展示
  2. bower使用记录
  3. Sublime Text 3开启自动换行
  4. JPA(5)使用二级缓存
  5. Linux学习之CentOS--FTP服务原理及vsfptd的安装、配置
  6. 【原创】Oracle函数中对于NO_DATA_FOUND异常处理的研究
  7. 第四篇、C_快速、冒泡、选择、插入排序、二分查找排序、归并、堆排序
  8. elasticsearch 性能测试
  9. C语言_愤怒的小鸟
  10. 基于Ubuntu14.04-LTS下安装docker
  11. 【mongodb系统学习之十】mongodb查询(三)
  12. 【POJ1151】Atlantis(线段树,扫描线)
  13. 数据库数据带&amp;符号 导入有问题的处理办法
  14. FFmpeg源代码简单分析:avcodec_open2()
  15. hadoop is running beyond virtual memory limits问题解决
  16. Mybatis多表链接查询重复字段问题
  17. 项目总结四:神经风格迁移项目(Art generation with Neural Style Transfer)
  18. 关于data()获取不到得原因
  19. java基础知识—继承
  20. POJ3417 Network

热门文章

  1. weex splash页面
  2. [WF4.0 实战] 事件驱动应用
  3. XML Schema笔记
  4. CPU维修技术
  5. deepin os 15.4 切换jdk版本
  6. LeetCode(3)题解: Longest Palindromic Substring
  7. SpringBoot项目 部署到服务器的tomcat下
  8. 手游服务器php架构比较
  9. NettyIO
  10. Android:在子线程中更新UI的三种方式