求這個東西: g∑
k|nk
cknm
od999911659
這題就是把幾個模板弄在一起。
首先尤拉定理: g∑
k|nk
cknm
odϕ(
999911659)m
od999911659 =
g∑k|
nkck
nmod
999911658mo
d999911659
然後將999911658拆成2*3*4679*35617四個質數,然後lucas求組合數,再中國剩餘定理合併就可以了。
這種sb題調了一小時真的菜
code:
#include
#include
#include
#include
#define ll long long
using
namespace
std;
ll p[5]=;
const ll mod=999911659,mod=999911658;
ll n,g,f[5][36000],inv[5][36000],b=0;
ll pow(ll a,ll b,ll mod)
return ans;
}ll c(ll n,ll m,ll op)
void pre()
}ll lucas(ll n,ll m,ll op)
ll inv(ll a,ll p)
void solve(ll m)
b=(b+ans)%mod;
}int main()
for(ll i=1;i*i<=n;i++)
if(n%i==0)
printf("%lld",pow(g,b,mod));
}
BZOJ 1951 Sdoi2010 古代豬文
題意 給定g,n,求 ans g binom mod p 1 n,g 10 9,p 999911659。演算法 尤拉定理 組合數取模 lucas 中國剩餘定理 crt 題解 先考慮簡化冪運算,因為模數為素數,由尤拉定理可知g k g k p mod p,顯然g k p mod p可以用快速冪求解 但...
bzoj1951 Sdoi2010 古代豬文
time limit 1 sec memory limit 64 mb有且僅有一行 兩個數n g,用乙個空格分開。有且僅有一行 乙個數,表示答案除以999911659的餘數。4 210 的資料中,1 n 50 20 的資料中,1 n 1000 40 的資料中,1 n 100000 100 的資料中,...
BZOJ1951 SDOI2010 古代豬文
在那山的那邊海的那邊有一群小肥豬。他們活潑又聰明,他們調皮又靈敏。他們自由自在生活在那綠色的大草坪,他們善良勇敢相互都關心 選自豬王國民歌 很久很久以前,在山的那邊海的那邊的某片風水寶地曾經存在過乙個豬王國。豬王國地理位置偏僻,實施的是適應當時社會的自給自足的莊園經濟,很少與外界聯絡,商貿活動就更少...