luoguP1641 [SCOI2010]生成字符串 组合

可以将问题抽象成选 1 就向右走,选 0 就向上走,且不能经过 y=x+1 的方案数.    

考虑容斥:总-不合法.   

总方案数就是 $\binom{n+m}{n}$,然后不合法的方案数对于 y=x+1 对称后发现就是 $(-1,1)$ 走到 $(n,m)$ 的方案数.  

code: 

#include        
#define N 2000009  
#define ll long long 
#define mod 20100403
#define setIO(s) freopen(s".in","r",stdin) 
using namespace std; 
int fac[N],inv[N];  
void init() {  
    fac[0]=1;  
    for(int i=1;i 
 

  

你可能感兴趣的:(luoguP1641 [SCOI2010]生成字符串 组合)