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

隨筆 - 32, 文章 - 0, 評(píng)論 - 3, 引用 - 0
數(shù)據(jù)加載中……

快速冪

原文:http://hi.baidu.com/fenglehuo/blog/item/3ce1f7b4a0ffd67e8bd4b2d8.html
求a^b%c(這就是著名的RSA公鑰的加密方法) 
當(dāng)a,b很大時(shí),直接求解這個(gè)問(wèn)題不太可能 
你能想到哪些優(yōu)化呢? 
算法1:直觀上,也許最容易想到的是利用a*b%c=((a%c)*b)%c,這樣每一步都進(jìn)行這種處理,這就解決了a^b可能太大存不下的問(wèn)題,但這個(gè)算法的時(shí)間復(fù)雜度依然是O(n),根本沒(méi)有得到優(yōu)化。當(dāng)b很大時(shí)運(yùn)行時(shí)間會(huì)很長(zhǎng) 
算法2:另一種算法利用了分治的思想,可以達(dá)到O(logn)。 
可以把b按二進(jìn)制展開(kāi)為b=p(n)*2^n+p(n-1)*2^(n-1)+...+p(1)*2+p(0) 
其中p(i) (0<=i<=n)為0或1 
這樣a^b=a^(p(n)*2^n+p(n-1)*2^(n-1)+...+p(1)*2+p(0)) 
       =a^(p(n)*2^n)*a^(p(n-1)*2^(n-1))*...*a^(p(1)*2)*a^p(0) 
對(duì)于p(i)=0的情況,a^p(i)*2^(i-1)=a^0=1,不用處理 
我們要考慮的僅僅是p(i)=1的情況 
a^(2^i)=(a^(p(i)*2(i-1)))^2 
利用這一點(diǎn),我們可以遞推地算出所有的a^(2^i) 
當(dāng)然由算法1的結(jié)論,我們加上取模運(yùn)算a^(2^i)%c=((a^(2(i-1))%c)*a^(2(i-1)))%c 
于是再把所有滿足p(i)=1的a^(2^i)%c按照算法1乘起來(lái)再%c就是結(jié)果

示例: 
3^6%7=3^(2^2)*3^(2^1)%7 
     =((3^(2^1))^2%7)*(3^1*3^1%7) 
     =(((3^1*3^1%7)%7)^2%7*2%7)%7 
     =(4*2)%7 
     =8%7 
     =1

當(dāng)然算法可以進(jìn)一步改進(jìn),比如二進(jìn)制的每一位不必存起來(lái),可以邊求邊用 
經(jīng)改進(jìn)后代碼如下:(輸入a,k,m,求a^k%m)

long f(long a,long k,long m) 

long b=1; 
while(k>=1) 

if(k%2==1) b=a*b%m; 
a=a*a%m; 
k=k/2; 

return b; 
}

例題

D: Raising Modulo Numbers


Time Limit: 1000 ms     Case Time Limit: 1000 ms     Memory Limit: 30000 KB
Submit: 24     Accepted: 7 

Description

People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, others like using Windows, and some like difficult mathematical games. Latest marketing research shows, that this market segment was so far underestimated and that there is lack of such games. This kind of game was thus included into the KOKODáKH. The rules follow: 

Each player chooses two numbers Ai and Bi and writes them on a slip of paper. Others cannot see the numbers. In a given moment all players show their numbers to the others. The goal is to determine the sum of all expressions AiBi from all players including oneself and determine the remainder after division by a given number M. The winner is the one who first determines the correct result. According to the players' experience it is possible to increase the difficulty by choosing higher numbers. 

You should write a program that calculates the result and is able to find out who won the game.

Input

The input consists of Z assignments. The number of them is given by the single positive integer Z appearing on the first line of input. Then the assignements follow. Each assignement begins with line containing an integer M (1 <= M <= 45000). The sum will be divided by this number. Next line contains number of players H (1 <= H <= 45000). Next exactly H lines follow. On each line, there are exactly two numbers Ai and Bi separated by space. Both numbers cannot be equal zero at the same time.

Output

For each assingnement there is the only one line of output. On this line, there is a number, the result of expression

(A1B1+A2B2+ ... +AHBH)mod M.

Sample Input

3 16 4 2 3 3 4 4 5 5 6 36123 1 2374859 3029382 17 1 3 18132

Sample Output

2
13195
13

題意

給出A1~Ah,B1~Bh,M,H,求(A1B1+A2B2+ ... +AHBH)mod M.

做法

快速冪取模+累加步步取模

HIT

取模相當(dāng)于在原數(shù)中不斷減去M直到原數(shù)小于M,所以累加后取模和步步取模結(jié)果相同,因此在累加過(guò)程中取模以防止超過(guò)long long界限

CODE

#include <stdio.h>
long long z,h,a,b,m,ans,pow;


int main(){    
    scanf("%I64d",&z);

    while(z--){
        scanf("%I64d %I64d",&m,&h);
    
        ans=0;
        while(h--){
            scanf("%I64d %I64d",&a,&b);
            
            pow=1;
            while(b>=1){
                if(b%2==1)
                    pow=a*pow%m;
                a=a*a%m;
                b/=2;
            }
            
            ans+=pow;
            ans%=m;   
        }
        
        printf("%I64d\n",ans);
    }

    return 0;
}

posted on 2011-06-10 23:12 pp_zhang 閱讀(406) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 數(shù)論


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            久久色在线播放| 国产视频亚洲| 亚洲欧美日韩网| 亚洲欧美另类久久久精品2019| 日韩西西人体444www| 亚洲经典自拍| 欧美高清一区| 欧美福利电影网| 亚洲国产精品传媒在线观看 | 欧美激情1区2区| 最新亚洲电影| 亚洲美女av电影| 亚洲在线观看视频网站| 新狼窝色av性久久久久久| 亚洲欧美国产另类| 久久精品伊人| 女人色偷偷aa久久天堂| 亚洲人成网站777色婷婷| 亚洲视频一区二区| 亚洲一区二区三区免费在线观看 | 久久久久久久久久久久久久一区 | 国产精品户外野外| 国产精品亚洲不卡a| 亚洲激情自拍| 欧美中在线观看| 午夜性色一区二区三区免费视频| 亚洲国产一区二区在线| 亚洲五月六月| 麻豆9191精品国产| aa国产精品| 欧美福利一区二区| 亚洲精品日产精品乱码不卡| 亚洲区欧美区| 欧美国产精品专区| 伊人久久婷婷| 久久综合一区二区| 亚洲蜜桃精久久久久久久| 艳妇臀荡乳欲伦亚洲一区| 在线亚洲自拍| 亚洲人成网站在线播| 免费久久精品视频| 国产老肥熟一区二区三区| 欧美一区二区视频在线观看2020 | 亚洲国产综合91精品麻豆| 麻豆成人综合网| 一区二区精品在线| 亚洲一区二区三区午夜| 欧美午夜在线| 久久久水蜜桃av免费网站| 久久天天躁夜夜躁狠狠躁2022| 国产九色精品成人porny| 欧美激情女人20p| 国产欧美一区二区三区在线老狼| 欧美一区二区三区视频| 亚洲精品在线观看视频| 欧美一区二区三区视频| 一区二区三区视频在线看| 国产精品扒开腿做爽爽爽视频 | 国产精品私房写真福利视频| 久久精品国产亚洲aⅴ| 欧美精品v日韩精品v国产精品| 亚洲午夜小视频| 欧美激情视频一区二区三区免费| 宅男噜噜噜66一区二区66| 制服丝袜激情欧洲亚洲| 日韩视频在线免费观看| 久久人人精品| 久久狠狠一本精品综合网| 欧美日韩一区二区在线播放| 亚洲高清视频一区| 免费成人在线观看视频| 国产精品久久久久一区二区| 日韩一级黄色av| 在线视频欧美精品| 免费亚洲一区二区| 欧美一区亚洲二区| 欧美久久九九| aa日韩免费精品视频一| 亚洲人成亚洲人成在线观看图片 | 亚洲大片在线观看| 国产免费亚洲高清| 欧美国产一区二区在线观看| 亚洲综合欧美| 香蕉久久久久久久av网站| 亚洲综合色婷婷| 久久爱www.| 欧美激情网站在线观看| 一区二区三区四区五区在线| 久久久精品久久久久| 欧美日韩在线免费视频| 久久综合影视| 免费黄网站欧美| 国产精品久久午夜| 国产精品视频精品| 91久久精品国产| 久久精品国产精品亚洲| 欧美高清在线视频| 中文一区二区| 麻豆精品在线视频| 欧美视频日韩视频| 国内精品视频在线播放| 一本色道久久综合亚洲91| 性亚洲最疯狂xxxx高清| 欧美成人一区二免费视频软件| 在线亚洲+欧美+日本专区| 久久阴道视频| 夜夜嗨一区二区三区| 欧美国产视频在线| 亚洲第一精品夜夜躁人人爽| 欧美专区日韩视频| 亚洲欧美国产视频| 国产精品毛片一区二区三区 | 国产女人水真多18毛片18精品视频| 在线免费观看日本一区| 亚洲欧美日韩综合| 国产婷婷色一区二区三区在线| 99视频有精品| 一区二区三区欧美亚洲| 久久成人国产| 久久国产夜色精品鲁鲁99| 国产精品永久| 久久久久久久久一区二区| 午夜综合激情| 在线观看日韩| 欧美黑人多人双交| 欧美日韩国产精品一区二区亚洲| 日韩视频免费观看| 亚洲午夜一级| 欧美国产日产韩国视频| 欧美特黄一区| 在线成人小视频| 一本一道久久综合狠狠老精东影业| 亚洲深夜福利视频| 欧美一级视频免费在线观看| 久久综合久久综合九色| 亚洲国产精品尤物yw在线观看 | 亚洲欧美成人在线| 久久亚洲免费| 国产精品色午夜在线观看| 国模精品娜娜一二三区| 亚洲视频观看| 麻豆av福利av久久av| 亚洲视频第一页| 欧美精品一区二区在线播放| 亚洲特色特黄| 中文亚洲视频在线| 亚洲午夜高清视频| 欧美人成在线| 亚洲日本成人在线观看| 欧美成人精品一区| 亚洲欧美日韩在线播放| 欧美日本乱大交xxxxx| 亚洲乱码国产乱码精品精可以看| 欧美一级久久久| 香港久久久电影| 好看不卡的中文字幕| 久久精品一区蜜桃臀影院| 羞羞色国产精品| 在线观看的日韩av| 久久综合伊人77777麻豆| 久久精品国产v日韩v亚洲| 国产视频一区在线观看| 久久久久免费观看| 免费视频亚洲| 亚洲国产老妈| 日韩视频免费观看| 国产精品爱久久久久久久| 亚洲欧美日韩中文视频| 久久久精品日韩| 亚洲精品网址在线观看| 亚洲一区二区三区免费在线观看 | 久久人人九九| 一本一道久久综合狠狠老精东影业 | 久久九九免费视频| 在线视频国产日韩| 在线亚洲伦理| 亚洲欧洲在线免费| 久久国产精品一区二区三区| av成人激情| 欧美成人网在线| 狂野欧美激情性xxxx| 国产精品色婷婷| 99国产精品私拍| 99精品热视频| 久久尤物视频| 韩国一区二区在线观看| 亚洲国产美女精品久久久久∴| 国产精品高清免费在线观看| 亚洲激情电影在线| 亚洲激情欧美激情| 久久婷婷亚洲| 午夜精品在线视频| 国产精品成人免费| 日韩视频免费在线观看| 一区二区三区视频在线播放| 欧美日韩不卡一区| 99re6热在线精品视频播放速度| 亚洲精品乱码久久久久久蜜桃91| 久久精选视频| 亚洲激情综合|