SDOI 2010 古代豬文

2022-03-30 01:17:29 字數 1173 閱讀 6101

\(\\\)

一句話題意:

設 \(x=\sum_ c_n^d\),求 \(g^x\pmod \) 。

從原題面大段語文中其實不難推出所求。

\(\\\)

以前一不敢碰..... 今天做做發現是個水題

顯然問題在指數上,而不是整個式子。

暴力檢驗一下,發現模數為質數。根據費馬小定理,\(a^k\equiv a^}\pmod\) 。

所以所求化為 \(\sum_c_^d\pmod\)

woc怕不是要excrt

後來發現這個模數很萎.....標準分解一下 \(999911659=2\times3\times4679\times35617\) 。

叫什麼 square-free-number ,其實就是只為考個 \(crt\) 強行湊了乙個數罷了......

對四個質數分別用 \(lucas\) 搞一下,然後 \(crt\) 合併就好了。

其實最後還是被坑了一下,注意最外層快速冪的模數跟 crt 合併的時候的 m 不同。

還要特判 \(a\ |\ p\) 的情況,因為這種情況下費馬小定理不成立。

\(\\\)

#include#include#include#include#include#include#include#define r register

#define n 50010

#define mo 999911658ll

using namespace std;

typedef long long ll;

ll mod[5]=,m[5],fac[n];

inline void init(ll p)

inline ll qpow(ll x,ll t,ll p)

return res;

}ll c(ll n,ll m,ll p)

ll lucas(ll n,ll m,ll p)

inline ll solve(ll n,ll p)

return res;

}inline ll crt(ll n)

return res;

}int main()

printf("%lld\n",qpow(g,crt(n),mo+1));

return 0;

}

SDOI2010 古代豬文

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

題解 SDOI2010 古代豬文

原題傳送門 poi和pku是真的流批 這是一篇晚來十年的題解.洛谷 題目太長,這裡直接給出 演算法競賽高階指南 的題面 給定整數 q,n 1 leqslant q,n leqslant 10 9 計算 q c n d mod 而這到題裡,我們用 g 表示 q 首先給出乙個特例 當 g 9999116...

洛谷 SDOI2010 古代豬文

初見安 這裡是傳送門 洛谷p2480 古代豬文 其實這個題咕了好久了才寫 本題有種數論知識點大雜燴的感覺,若有知識點殘缺歡迎來走走 定理傳送門,lucas傳送門 數論題啊 一眼下來連題都讀不懂呢。樣例知道怎麼來的了就很好整了。說白了題意就是求 n的範圍是1e9,所以對於因數d的列舉不會超過把模數降下...