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

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>
            久久久久久久激情视频| 亚洲激情综合| 久久人人爽人人| 一本色道久久99精品综合| 久久久免费精品| 国产欧美精品一区aⅴ影院| 一区二区三区视频在线 | 亚洲视频一起| 欧美日韩不卡一区| 99热免费精品在线观看| 欧美大成色www永久网站婷| 久久成人精品无人区| 国产视频欧美视频| 欧美在线3区| 亚洲一区二区在线免费观看| 国产精品av一区二区| 亚洲综合欧美| 亚洲永久免费精品| 国产精品系列在线| 久久久久久久综合色一本| 欧美一区二区三区四区视频 | 亚洲精品少妇| 亚洲人体1000| 欧美绝品在线观看成人午夜影视 | 亚洲国产成人91精品| 欧美国产精品久久| 欧美大片一区二区| 一本色道久久综合亚洲精品婷婷| 亚洲大片在线| 欧美日韩视频一区二区| 亚洲午夜视频在线观看| 亚洲免费中文| 狠狠综合久久| 亚洲日本成人网| 国产精品xnxxcom| 午夜电影亚洲| 久久久久久久久一区二区| 亚洲国产精品va在线看黑人| 亚洲人在线视频| 国产精品久久网站| 欧美成人免费视频| 99ri日韩精品视频| 亚洲伦理网站| 国产老女人精品毛片久久| 久久精品人人| 欧美精品自拍偷拍动漫精品| 亚洲女同同性videoxma| 欧美在线www| 亚洲精品中文字| 在线亚洲国产精品网站| 一区二区三区我不卡| 亚洲人成啪啪网站| 国产日产精品一区二区三区四区的观看方式| 久久精品系列| 欧美日韩一二三区| 美女精品视频一区| 欧美性开放视频| 欧美ed2k| 国产欧美一区二区三区久久人妖| 女同性一区二区三区人了人一 | 欧美色偷偷大香| 久久久久久久性| 欧美日韩国产高清| 毛片精品免费在线观看| 国产精品久久久久一区| 亚洲第一福利视频| 国产字幕视频一区二区| 一区二区三区视频在线观看| 亚洲国产欧洲综合997久久| 亚洲男人第一网站| 日韩视频免费观看高清完整版| 欧美一区二区三区免费观看视频| 9色porny自拍视频一区二区| 久久米奇亚洲| 欧美在线关看| 欧美性开放视频| 亚洲乱码一区二区| 日韩一区二区免费高清| 老司机免费视频一区二区三区| 香蕉免费一区二区三区在线观看| 欧美精品久久一区二区| 欧美ab在线视频| 在线成人h网| 久久九九热re6这里有精品| 欧美在线www| 国产一区免费视频| 性欧美超级视频| 欧美一区激情视频在线观看| 欧美色欧美亚洲另类七区| 亚洲另类一区二区| 日韩系列欧美系列| 欧美日韩高清在线观看| 日韩视频在线观看| 亚洲综合色丁香婷婷六月图片| 欧美日韩一区二区国产| 亚洲伦理在线免费看| 亚洲视频欧美视频| 国产精品久久久久久五月尺| 99精品热视频| 亚洲欧美国产不卡| 国产伦精品一区二区三区四区免费| 亚洲视频综合| 欧美专区18| 久久久.com| 欧美成人一区二区| 亚洲每日在线| 欧美午夜视频网站| 亚洲——在线| 久久久人成影片一区二区三区| 国产一区二区三区网站| 久久久久久久久伊人| 亚洲国产精品激情在线观看| 99亚洲视频| 国产精品久久久久久久久久久久久| 亚洲一区在线观看免费观看电影高清| 欧美一二区视频| 激情成人av| 欧美精品一线| 亚洲制服av| 欧美大尺度在线观看| 亚洲视频一区在线| 国产亚洲欧美一区二区| 另类av一区二区| 亚洲国产mv| 欧美一区二区三区精品电影| 国产一区二区三区高清在线观看| 久久婷婷成人综合色| 亚洲精品一区二区三区不| 午夜精品福利在线| 在线精品国产欧美| 欧美日韩视频在线| 欧美在线视频观看| 亚洲毛片一区二区| 久久亚洲一区二区三区四区| 亚洲人成免费| 国产欧美一区二区三区久久人妖| 蜜桃av噜噜一区二区三区| 亚洲午夜女主播在线直播| 六月婷婷久久| 亚洲丝袜av一区| 一区二区视频免费完整版观看| 欧美日韩国产首页| 久久国产主播精品| 一本色道久久综合亚洲精品不卡| 久久噜噜噜精品国产亚洲综合| 一区二区三区欧美在线观看| 雨宫琴音一区二区在线| 国产精品成人观看视频免费| 久久综合中文字幕| 午夜免费在线观看精品视频| 91久久在线观看| 狂野欧美激情性xxxx| 午夜精品久久久久久99热软件 | 欧美本精品男人aⅴ天堂| 亚洲一区二区三区777| 亚洲国产成人久久综合一区| 国产精品主播| 国产精品成人一区二区网站软件| 欧美jizz19性欧美| 久久久噜噜噜久噜久久| 亚洲欧美日本在线| 在线午夜精品| 夜夜精品视频一区二区| 亚洲高清二区| 欧美1级日本1级| 久久人人97超碰精品888| 欧美影院在线| 欧美专区在线| 午夜亚洲性色福利视频| 中文日韩电影网站| 99视频超级精品| 亚洲美女尤物影院| 亚洲乱码国产乱码精品精可以看| 亚洲高清在线播放| 亚洲第一精品久久忘忧草社区| 国产综合自拍| 韩国三级电影一区二区| 国产专区精品视频| 亚洲一区二区四区| 一区二区电影免费在线观看| 亚洲人体大胆视频| 亚洲美女黄网| 亚洲天堂网站在线观看视频| 99精品欧美一区二区三区| 99精品欧美一区| 亚洲一区三区在线观看| 亚洲一区二区在| 欧美一区日韩一区| 久久精品中文字幕一区二区三区| 久久精品国产久精国产思思| 久久亚洲影院| 欧美黄色小视频| 欧美日韩一区二区在线视频| 欧美午夜宅男影院| 国产日韩一区在线| 尤物九九久久国产精品的特点| 亚洲国产精品一区二区久| 亚洲精品中文字幕女同| 亚洲欧美综合精品久久成人| 久久激情五月丁香伊人|