const int mod=998244353;
int quickpow(int a,int b){
int res=1;
while(b){
if(b&1) res*=a,res%=mod;
a*=a,a%=mod;
b>>=1;
}
return res;
}
comb模板
int fac[2003],inv[2003];
void init(int x){
fac[0]=1;
for(int i=1;i<=x;i++) fac[i]=fac[i-1]*i%mod;
inv[x]=quickpow(fac[x],mod-2); 预处理逆元
for(int i=x-1;i>=0;i--) inv[i]=inv[i+1]*(i+1)%mod;
}
int comb(int x,int y){ x个中选y个
if(y>x) return 0;
if(y==0) return 1;
return fac[x]*inv[y]%mod*inv[x-y]%mod;
}
07-17
1646
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-03
5720
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-07
1088
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)