【洛谷】P1641 [SCOI2010]生成字符串(思维+组合+逆元)
生活随笔
收集整理的這篇文章主要介紹了
【洛谷】P1641 [SCOI2010]生成字符串(思维+组合+逆元)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
傳送門:QWQ
?
?
分析
不想畫圖。
https://www.luogu.org/problemnew/solution/P1641
好神仙的題啊。
?
?
代碼
1 // luogu-judger-enable-o2 2 #include <bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 const int maxn=15000000; 6 const ll MOD=20100403; 7 ll fac[maxn]; 8 int exgcd(ll& x,ll& y,ll a,ll b){ 9 if(!b){x=1;y=0;} 10 else{ exgcd(y,x,b,a%b); y-=x*(a/b); } 11 } 12 ll inv(ll a){ 13 ll x=0,y=0; 14 exgcd(x,y,a,MOD); 15 return (x+MOD)%MOD; 16 } 17 void Fac(ll k){ fac[1]=1;for(ll i=2;i<=k;i++) fac[i]=(fac[i-1]*i)%MOD; } 18 ll C(ll n,ll m){return (((fac[n]*inv(fac[n-m]))%MOD)*inv(fac[m]))%MOD;} 19 int main(){ 20 ll n,m; 21 scanf("%lld%lld",&n,&m); 22 ll len=n+m; Fac(len); 23 printf("%lld\n",(C(len,m)-C(len,m-1)+MOD)%MOD); 24 return 0; 25 }?
?
轉載于:https://www.cnblogs.com/noblex/p/9447608.html
總結
以上是生活随笔為你收集整理的【洛谷】P1641 [SCOI2010]生成字符串(思维+组合+逆元)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LintCode 16. 带重复元素的排
- 下一篇: 中国石油大学(华东)暑期集训--二进制(