青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Omni Inspirations

problems & programs ~

統(tǒng)計

留言簿

Friends

閱讀排行榜

評論排行榜

Pku 2417 Discrete Logging

題意:
求最小的離散對數(shù)B 使得A^B == C (mod P)  P是質數(shù) 或者判無解

做法:

數(shù)論題..對于比我大的同學肯定覺得很簡單。。
由歐拉定理 A^phi(P) == 1 (mod P) (phi(prime)=prime-1)
得到 A^(B+phi(P)) == c (mod P)   A^(B-Phi(P)) ==c (mod P)
所以可以肯定的一點是 如果 [0,phi(P))內(nèi)無解 由此式子的周期性必然不會有更多解

一個樸素的想法:枚舉 B∈[0,phi(P)) 檢驗 A^B是否 == C(mod P)
問題又出現(xiàn)了 P是個質數(shù) phi(P)=P-1  必然TLE
所以就必須用空間換時間。

設得到的答案是B  B=X*sqrt(P)+Y 注意到X,Y<=sqrt(P)
列式并化簡:

A^(X*sqrt(P)+Y) == C (mod P)
(A*sqrt(P))^X*A^Y == C (mod P)

設 T=A*sqrt(P) 原式即 T^X*A^Y == C (mod P)
兩邊同除以 A^Y  得到 T^X == C/(A^Y) (mod P)

好吧 到現(xiàn)在 做法就已經(jīng)浮出水面了

我們預處理T^i (mod P) 最多sqrt(P)個 (i<X)
手寫hash或者用map直接存下來二元組 (T^X (mod P),X)

然后枚舉 Y∈[0,sqrt(P)) 最多sqrt(P)個
對于每個Y 我們求出 C/(A^Y) (mod P)  然后在hash或者map中查找這個值
如果 (C/(A^Y) (mod P),X) 存在  那么說明 X*sqrt(P)+Y 是可以作為答案的

最后答案便是所有滿足條件的 X*sqrt(P)+Y 中的最小值。

如果你不知道 C/(A^Y) (mod P) 怎么求
那就繼續(xù)看下去吧
C/(A^Y) (mod P) == C*((1/A^Y) mod P)
(1/A^Y) (mod P) == (A^Y)^-1 (mod P)
即 (A^Y)^(phi(P)-1) (mod P)
所以 C/(A^Y) (mod P) 就等于C*(A^Y)^(phi(P)-1) (mod P)

這樣就解決了此題。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #define Prime 899037
 5 #define oo 2000000005
 6 #define min(a,b) ((a)<(b)?(a):(b))
 7 int P,B,N;
 8 int H[Prime],V[Prime];
 9 inline int pow(int u,int v)
10 {
11     int ret=1;
12     for (int tmp=u;v;v>>=1,tmp=(tmp*(long long)tmp)%P)
13     if (v&1)    ret=(ret*(long long)tmp)%P;
14     return ret;
15 }
16 inline void Hpush(int u,int v)
17 {
18     int t=u%Prime;
19     for (;H[t];)
20     {
21         if (H[t]==u)    return;
22         if (++t==P)    t-=P;
23     }
24     H[t]=u,V[t]=v;
25 }
26 inline int Hpop(int u)
27 {
28     int t=u%Prime;
29     for (;H[t];)
30     {
31         if (H[t]==u)    return V[t];
32         if (++t==P)    t-=P;
33     }
34     return oo;
35 }
36 int main()
37 {
38     for (;scanf("%d%d%d",&P,&B,&N)!=EOF;)
39     {
40         int ret=oo+1;
41         memset(H,0,sizeof(H));
42         memset(V,-1,sizeof(V));
43         int sqrtP=(int)sqrt((double)P),Bsp=pow(B,sqrtP);
44         for (int i=0,val=1;i<=sqrtP;++i,val=(val*(long long)Bsp)%P)
45             Hpush(val,i);
46         for (int i=0,val=1;i<=sqrtP;++i,val=(val*(long long)B)%P)
47         {
48             int h=(N*(long long)pow(val,P-2))%P,v=Hpop(h);
49             if (v<oo&&v*sqrtP+i<ret)    ret=v*sqrtP+i;
50         }
51         if (ret>oo)    puts("no solution");
52         else    printf("%d\n",ret);
53     }
54     return 0;
55 }
56 

posted on 2010-04-21 14:58 jsn1993 閱讀(405) 評論(0)  編輯 收藏 引用 所屬分類: Math


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩一区在线观看| 欧美特黄一区| 亚洲欧洲一区二区三区在线观看| 亚洲夜间福利| 亚洲一区中文字幕在线观看| 亚洲免费人成在线视频观看| 亚洲在线一区二区| 欧美影院久久久| 久久中文欧美| 亚洲美女黄网| 性做久久久久久| 免费亚洲电影| 欧美午夜三级| 国产一区二区看久久| 亚洲第一黄网| 亚洲私人黄色宅男| 久久久噜噜噜久久中文字免| 亚洲成色www8888| 亚洲一区二区在线| 毛片基地黄久久久久久天堂| 欧美日韩视频在线观看一区二区三区 | 欧美中文字幕精品| 欧美成人免费网站| 亚洲一区二区影院| 欧美成人午夜激情| 国产欧美日韩三区| 夜久久久久久| 免费观看成人网| 亚洲一区二区不卡免费| 麻豆国产精品777777在线 | 精品福利免费观看| 亚洲午夜精品一区二区| 免费日韩av电影| 亚洲免费在线视频| 欧美日本一区二区高清播放视频| 国产日韩精品在线播放| 一片黄亚洲嫩模| 久热精品视频| 午夜精品久久久久久久蜜桃app| 玖玖在线精品| 国产一区二区三区免费不卡| 一区二区三区国产在线观看| 美女国产一区| 欧美在线视频在线播放完整版免费观看 | 老妇喷水一区二区三区| 国产精品乱码一区二三区小蝌蚪 | 欧美亚洲尤物久久| 亚洲精品123区| 美女91精品| 国产午夜亚洲精品不卡| 亚洲欧美中文在线视频| 亚洲人www| 欧美成人精品在线观看| 亚洲国产成人精品久久久国产成人一区| 亚洲欧美一区二区视频| 亚洲精品色婷婷福利天堂| 免费成人性网站| 亚洲欧洲久久| 欧美黄色片免费观看| 久久福利资源站| 国产婷婷色综合av蜜臀av| 亚洲欧美综合网| 亚洲视频免费| 国产精品一区二区三区四区| 亚洲一区久久久| 亚洲视频在线观看网站| 国产精品日韩欧美大师| 香蕉国产精品偷在线观看不卡| 一区二区精品在线观看| 欧美亚州一区二区三区| 性欧美激情精品| 亚洲欧美一区二区三区久久| 国产欧美在线视频| 老司机精品导航| 欧美精品播放| 香蕉亚洲视频| 久久久久9999亚洲精品| 91久久亚洲| 中文日韩在线视频| 国产一区二区三区在线观看精品| 久久久亚洲精品一区二区三区 | 国产精品毛片在线| 欧美在线地址| 美国十次成人| 亚洲自拍偷拍一区| 久久国产免费| 99综合视频| 亚洲欧美在线免费| 最新成人av网站| 亚洲女同在线| 亚洲人成毛片在线播放女女| 艳妇臀荡乳欲伦亚洲一区| 国产日韩精品一区二区三区| 欧美不卡在线视频| 国产精品高潮在线| 久久综合久久88| 欧美婷婷久久| 亚洲国产成人精品久久| 洋洋av久久久久久久一区| 国产婷婷色一区二区三区四区 | 亚洲国产精品高清久久久| 欧美日韩一区二区三区免费看| 欧美亚洲一区二区三区| 裸体一区二区三区| 久久精品二区| 国产精品va| 亚洲人人精品| 亚洲高清三级视频| 亚洲欧美日韩国产一区二区| 在线免费观看欧美| 亚洲主播在线观看| 亚洲精品午夜| 久久福利影视| 欧美在线首页| 欧美日韩三级视频| 亚洲国产成人精品女人久久久 | 久久激情视频久久| 欧美日韩亚洲91| 欧美激情精品久久久| 国产乱码精品一区二区三区五月婷 | 国产精品美女久久久久av超清 | 美女精品在线| 欧美综合国产| 国产精品mv在线观看| 91久久精品日日躁夜夜躁国产| 国产亚洲毛片在线| 亚洲图片欧美一区| 亚洲网在线观看| 欧美三级在线视频| 亚洲精品视频在线观看免费| 亚洲人被黑人高潮完整版| 久久欧美肥婆一二区| 久久人体大胆视频| 精品1区2区| 久久夜色精品国产欧美乱| 久久青草欧美一区二区三区| 国产精品jizz在线观看美国 | 亚洲特色特黄| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品久久久久久久久免费桃花 | 亚洲视频自拍偷拍| 欧美日韩国产一级片| 亚洲精品一级| 亚洲一区免费| 国产一级揄自揄精品视频| 欧美在线影院| 欧美激情1区2区3区| 亚洲区免费影片| 欧美另类综合| 在线一区二区三区四区| 香蕉国产精品偷在线观看不卡| 国产精品亚洲а∨天堂免在线| 亚洲一级网站| 久久综合九色欧美综合狠狠| 在线观看欧美日韩| 欧美岛国在线观看| 一区二区三区你懂的| 性伦欧美刺激片在线观看| 国产性色一区二区| 老司机免费视频一区二区| 亚洲国产精品久久久久婷婷老年| 99视频精品全部免费在线| 国产精品国产三级国产普通话三级 | 精品动漫一区| 欧美国产综合一区二区| 亚洲午夜精品一区二区| 久久久噜久噜久久综合| 亚洲欧洲综合另类在线| 国产精品久久久久久亚洲调教 | 国产日韩精品久久久| 巨乳诱惑日韩免费av| 亚洲三级色网| 久久亚洲综合色| 艳妇臀荡乳欲伦亚洲一区| 国产日韩欧美在线播放| 欧美大片在线影院| 欧美一区二区性| 亚洲日韩成人| 麻豆91精品| 欧美亚洲一区二区在线| 亚洲精品乱码久久久久久蜜桃91| 国产精品免费福利| 欧美劲爆第一页| 久久久久久国产精品mv| 夜夜嗨av一区二区三区网站四季av| 久久九九免费| 亚洲专区免费| 99国产精品99久久久久久粉嫩 | 在线视频亚洲欧美| 国产精品亚洲成人| 欧美激情亚洲视频| 久久久久.com| 亚洲综合色网站| 日韩视频二区| 亚洲第一视频网站| 麻豆国产精品一区二区三区| 亚洲欧美日韩另类精品一区二区三区| 亚洲欧洲午夜| 亚洲国产欧美在线人成| 国模套图日韩精品一区二区|