日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

1951: [Sdoi2010]古代猪文

發(fā)布時(shí)間:2025/3/16 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1951: [Sdoi2010]古代猪文 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.lydsy.com/JudgeOnline/problem.php?id=1951? ? ? ? ? ? ??

題意:求G^(C(N,N/K))%mod ( K|N) ? ? ? ? ? ? ? ??

1951: [Sdoi2010]古代豬文

Time Limit:?1 Sec??Memory Limit:?64 MB
Submit:?1001??Solved:?392
[Submit][Status]

Description

“在那山的那邊海的那邊有一群小肥豬。他們活潑又聰明,他們調(diào)皮又靈敏。他們自由自在生活在那綠色的大草坪,他們善良勇敢相互都關(guān)心……” ——選自豬王國(guó)民歌 很久很久以前,在山的那邊海的那邊的某片風(fēng)水寶地曾經(jīng)存在過一個(gè)豬王國(guó)。豬王國(guó)地理位置偏僻,實(shí)施的是適應(yīng)當(dāng)時(shí)社會(huì)的自給自足的莊園經(jīng)濟(jì),很少與外界聯(lián)系,商貿(mào)活動(dòng)就更少了。因此也很少有其他動(dòng)物知道這樣一個(gè)王國(guó)。 豬王國(guó)雖然不大,但是土地肥沃,屋舍儼然。如果一定要拿什么與之相比的話,那就只能是東晉陶淵明筆下的大家想象中的桃花源了。豬王勤政愛民,豬民安居樂業(yè),鄰里和睦相處,國(guó)家秩序井然,經(jīng)濟(jì)欣欣向榮,社會(huì)和諧穩(wěn)定。和諧的社會(huì)帶給豬民們對(duì)工作火紅的熱情和對(duì)未來的粉色的憧憬。 小豬iPig是豬王國(guó)的一個(gè)很普通的公民。小豬今年10歲了,在大肥豬學(xué)校上小學(xué)三年級(jí)。和大多數(shù)豬一樣,他不是很聰明,因此經(jīng)常遇到很多或者稀奇古怪或者旁人看來輕而易舉的事情令他大傷腦筋。小豬后來參加了全豬信息學(xué)奧林匹克競(jìng)賽(Pig Olympiad in Informatics, POI),取得了不錯(cuò)的名次,最終保送進(jìn)入了豬王國(guó)大學(xué)(Pig Kingdom University, PKU)深造。 現(xiàn)在的小豬已經(jīng)能用計(jì)算機(jī)解決簡(jiǎn)單的問題了,比如能用P++語(yǔ)言編寫程序計(jì)算出A + B的值。這個(gè)“成就”已經(jīng)成為了他津津樂道的話題。當(dāng)然,不明真相的同學(xué)們也開始對(duì)他刮目相看啦~ 小豬的故事就將從此展開,伴隨大家兩天時(shí)間,希望大家能夠喜歡小豬。 題目描述 豬王國(guó)的文明源遠(yuǎn)流長(zhǎng),博大精深。 iPig在大肥豬學(xué)校圖書館中查閱資料,得知遠(yuǎn)古時(shí)期豬文文字總個(gè)數(shù)為N。當(dāng)然,一種語(yǔ)言如果字?jǐn)?shù)很多,字典也相應(yīng)會(huì)很大。當(dāng)時(shí)的豬王國(guó)國(guó)王考慮到如果修一本字典,規(guī)模有可能遠(yuǎn)遠(yuǎn)超過康熙字典,花費(fèi)的豬力、物力將難以估量。故考慮再三沒有進(jìn)行這一項(xiàng)勞豬傷財(cái)之舉。當(dāng)然,豬王國(guó)的文字后來隨著歷史變遷逐漸進(jìn)行了簡(jiǎn)化,去掉了一些不常用的字。 iPig打算研究古時(shí)某個(gè)朝代的豬文文字。根據(jù)相關(guān)文獻(xiàn)記載,那個(gè)朝代流傳的豬文文字恰好為遠(yuǎn)古時(shí)期的k分之一,其中k是N的一個(gè)正約數(shù)(可以是1和N)。不過具體是哪k分之一,以及k是多少,由于歷史過于久遠(yuǎn),已經(jīng)無從考證了。 iPig覺得只要符合文獻(xiàn),每一種能整除N的k都是有可能的。他打算考慮到所有可能的k。顯然當(dāng)k等于某個(gè)定值時(shí),該朝的豬文文字個(gè)數(shù)為N / k。然而從N個(gè)文字中保留下N / k個(gè)的情況也是相當(dāng)多的。iPig預(yù)計(jì),如果所有可能的k的所有情況數(shù)加起來為P的話,那么他研究古代文字的代價(jià)將會(huì)是G的P次方。 現(xiàn)在他想知道豬王國(guó)研究古代文字的代價(jià)是多少。由于iPig覺得這個(gè)數(shù)字可能是天文數(shù)字,所以你只需要告訴他答案除以999911659的余數(shù)就可以了。

Input

有且僅有一行:兩個(gè)數(shù)N、G,用一個(gè)空格分開。

Output

有且僅有一行:一個(gè)數(shù),表示答案除以999911659的余數(shù)。

Sample Input

4 2

Sample Output

2048

HINT

10%的數(shù)據(jù)中,1 <= N <= 50;
20%的數(shù)據(jù)中,1 <= N <= 1000;
40%的數(shù)據(jù)中,1 <= N <= 100000;
100%的數(shù)據(jù)中,1 <= G <= 1000000000,1 <= N <= 1000000000。

Source

Sdoi2010 Contest2

#include <cstring> #include <iostream> #include <cmath> #include <algorithm> #include <cstdio> using namespace std; #define maxn 35620 typedef long long LL; #define MOD 999911659 #define M 999911658 LL w[4]={2,3,4679,35617}; LL a[4]; LL fac[4][maxn]; LL Pow(LL a,LL b,LL mod)//快速冪 {LL ans=1;while(b){if(b&1) ans=(ans*a)%mod;a=(a*a)%mod;b >>= 1;}return ans; } void init()//預(yù)處理階乘 {for(int i=0;i<4;i++){fac[i][0]=1;for(int j=1;j<=w[i];j++){fac[i][j]=(fac[i][j-1]*j)%w[i];}} } /******************************** * 組合數(shù)取模用費(fèi)馬小定理 *********************************/ LL C(LL n,LL m,int x)//組合數(shù)取模 {if(n < m) return 0;return (fac[x][n] * Pow((fac[x][n-m]*fac[x][m]),w[x]-2,w[x]))%w[x]; } /******************************* * lucas 處理大組合數(shù)取模 ********************************/ LL Lucas(LL n,LL m,int x)//lucas定理 {if(m==0) return 1;return (Lucas(n/w[x],m/w[x],x)*C(n%w[x],m%w[x],x))%w[x]; } /**************************** * 擴(kuò)展歐幾里得求乘法逆元 *****************************/ LL exgcd(LL a,LL b,LL &x,LL &y)//乘法逆元 {if(!b){x = 1;y = 0;return a;}LL ans = exgcd(b,a%b,x,y);LL t = x;x = y;y = t - a/b*y;return ans; } /*************************************************************************************** * 中國(guó)剩余定理: * x = b1 % m1 * x = b2 % m2 * x = b3 % m3 * . * gcd(m1,m2,m3,...) = 1; * M = m1 * m2 * m3 *.....; * M1 = m2 * m3 * ...., M2 = m1 * m3 * ...., M3 = m1 * m2 * m4 *....., ......; * M1 * M(-1) = 1 % M ,M2 * M2(-1) = 1 % M; * res = (M1(-1)*b1 + M2(-1)*b2+.....)%M;res即為所求值 * 注:如果取模的值相同:都是m1 那么 bn的值可以相加計(jì)算; * 略屌。。。。。。。。。。。。。。 * *****************************************************************************************/ LL CRT()//計(jì)算組合數(shù)和取模之后的值 {LL i,d,x0,y0,ans=0;for(i = 0;i < 4;i++)//中國(guó)剩余定理{d=M/w[i];exgcd(d,w[i],x0,y0);ans=(ans+d*x0*a[i])%M;}if(ans <= 0) ans += M;return ans; } int main() {init();LL g,n;while(cin>>n>>g){memset(a,0,sizeof(a));for(int i=1;i*i<=n;i++){if(n%i==0){LL tmp=n/i;for(int j=0;j<4;j++){if(tmp!=i) a[j]=(a[j]+Lucas(n,i,j))%w[j];a[j]=(a[j]+Lucas(n,tmp,j))%w[j];}}}cout<<Pow(g%MOD,CRT(),MOD)<<endl;}return 0; }


總結(jié)

以上是生活随笔為你收集整理的1951: [Sdoi2010]古代猪文的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。