ZOJ 4006 數論逆元

2021-08-16 22:01:47 字數 984 閱讀 2592

題解: 求從0點向m走i步那麼就得返回i- m步最後原地停留了n+m-2*i步最後用排列組合就是c[n][i]*c[n-i][i-m]*a*b*c

a,b,c分別表示走了i步,i-m步,n+m-2*i步的概率c[n][i] = n!/i!/(n-i)!因為要取膜求一下逆元

最後列舉所有可能的i即可

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define mes(a) memset(a,0,sizeof(a))

#define rep(i,a,b) for(i = a; i <= b; i++)

#define dec(i,a,b) for(i = b; i >= a; i--)

#define fi first

#define se second

#define ls rt<<1

#define rs rt<<1|1

#define mid (l+r)/2

#define lson ls,l,mid

#define rson rs,mid+1,r

typedef double db;

typedef long long int ll;

typedef pairpii;

typedef unsigned long long ull;

const int mx = 1e5+5;

const ll mod = 1e9+7;

ll a[mx];

ll b[mx];

ll modexp(ll x,ll n)

return ans;

}int main()

printf("%lld\n",ans);

}return 0;

}

數論 逆元 O(n)求逆元

傳送門 這是乙個學長的部落格,但是看了好幾遍都沒記住,所以決定自己寫一下。所謂o n 求逆元就是遞推,下面是證明 inv i mod mod i inv mod i 證明 設 t mod i,k mod i 則 t i k 0 mod mod 移項得到 t i k mod mod 兩邊同除i k,即...

數論(求逆元)

在密碼學中我們經常需要用到逆元,尤其在rsa公鑰密碼體制中。下面簡介一下求逆元的通用方法,廣義歐幾里得除法的逆運算。如果a,m互素的話,那麼根據歐幾里得除法,最終會得到餘數為1,此時我們可以消去中間變數,最終得到sa tm a,m 1,兩邊同時除以m可以得到sa 1 mod m 顯而易見可以得到s是...

數論 乘法逆元

一 乘法逆元定義 乘法逆元,是指數學領域群g中任意乙個元素a,都在g中有唯一的逆元a 具有性質a a a a e,其中e為該群的單位元。例如 4關於1模7的乘法逆元為多少?4x 1 mod 7 這個方程等價於求乙個x和k,滿足 4x 7k 1 其中x和k都是整數。若ax 1 mod f,則稱a關於1...