bzoj1951 Sdoi2010 古代豬文

2022-05-25 14:54:08 字數 1053 閱讀 4098

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%的資料中,1 <= g <= 1000000000,1 <= n <= 1000000000。

數學入門綜合題。。。。

三個定理。。。

lucas + 中國剩餘定理 + 尤拉定理

注意特判qaq

```c++

using namespace std;

const int maxn = 36911;

int n, g, sq;

int lim;

long long p, m, fac[maxn], inv[maxn];

long long ans, w[5], m[5], mod[5], ans[5];

vectorf;

inline long long fpow(long long a, long long b)

return ret;

}inline void prepare()

long long c(int a, int b)

inline long long calc()

inline void check()

int main()

mod[1] = 2; mod[2] = 3; mod[3] = 4679; mod[4] = 35617;

for(int i = 1; i <= sq; ++i)

if(n % i == 0)

for(int i = 1; i <= 4; ++i)

ans = (ans % m + m) % m; p = 999911659;

cout << fpow(g, ans);

return 0;

}

bzoj 1951 Sdoi2010 古代豬文

求這個東西 g k nk cknm od999911659 這題就是把幾個模板弄在一起。首先尤拉定理 g k nk cknm od 999911659 m od999911659 g k nkck nmod 999911658mo d999911659 然後將999911658拆成2 3 4679 ...

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 古代豬文

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