通過預處理出全部數字的階乘n[i],然後預處理出它們的逆元。
方法就是求出n!的逆元,然後從後向前推via[n-1]=via[n!]*v;
然後就可以求出組合了
hdu6114驗證模版
#include #include #include #include #include #include #include using namespace std;
const int l=1e5+7;
typedef long long ll;
const int maxn=l*2+800;
const int mod=1e9+7;
ll n[1005];
ll niv[1005];
ll pow1(ll a, ll b)
return ret;
}ll ni(ll x)
int c[1005][1005];
int main()
return 0;
}
逆元, 組合數取模,費馬小定理, HDU 6114
費馬小定理 fermat s little theorem 定理先放這,現在目標是求 一般的可以做如下轉換 但是取模對除法不適用故 逆元 對於a和p a和p互素 若a b p 1,則稱b為a p的逆元。應用 t a 對 p取模,由於b是a p的逆元,t a 對p取模可以轉換為t b p 轉換為乘法了...
hdu 2068 RPG的錯排(組合)
hdu 2068 rpg的錯排 description 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r...
HDU 2068 RPG的錯排 排列組合
解題報告 題目大意 有n個人和n個名字,要將他們一一對應,對應的規則是至少要有n 2是對了的,求這樣一共有多少種對應的方法。錯排題,從0開始列舉到n 2,即表示有0個人的名字與人對應是錯的 1個人的名字與本人的對應是錯的 兩個人的名字與本人的對應是錯的 2 這裡用乙個組合就可以了,要注意的是求組合的...