bzoj 1951 Sdoi2010 古代豬文

2021-08-14 01:53:34 字數 934 閱讀 5454

求這個東西: 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 古代豬文

在那山的那邊海的那邊有一群小肥豬。他們活潑又聰明,他們調皮又靈敏。他們自由自在生活在那綠色的大草坪,他們善良勇敢相互都關心 選自豬王國民歌 很久很久以前,在山的那邊海的那邊的某片風水寶地曾經存在過乙個豬王國。豬王國地理位置偏僻,實施的是適應當時社會的自給自足的莊園經濟,很少與外界聯絡,商貿活動就更少...