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

bon

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  46 Posts :: 0 Stories :: 12 Comments :: 0 Trackbacks

常用鏈接

留言簿(2)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

這道題從Ac人數以及題目大意上看應屬于簡單題,但是我卻做了好多天 ToT。

剛剛才看了一篇解題報告得到啟發過的。題目有點tricky,給一個小于等于2^20的數,本質上要求質因子分解。

題目有接近1/3的提交是超時,其實分解質因子以及后面的計算沒什么可說的,主要是求素數表這里會超時。

如果將2到2^20的所有素數打出來,程序長度超過可以提交的限制。如果打一部分,接著在程序里接著算也可以,不過
如果對質因子的上界估計不好的話,也要超時或導致效率低。

最小上界(上確界)是2^10,因為對于a<=2^20最多只有1個質因子會超過2^10,這用反證法很容易得到。因此我們只要算出1024以內
的172個素數即可,程序很快就跑完了。

另外打素數表的時候有一種比較快的算法,雖然只是在樸素算法基礎上做了一些小的優化,不過即使在打1024以內素數表就可以體現出
優越性了(69ms VS 79ms),對于更大的素數表,優越性會更明顯。

 1 // pku 3421 給一個整數X,求X的分解。1=X0,X1,X2,,Xm=X,其中Xi整除X(i+1)且Xi<X(i+1),要求最大的m跟有多少種這樣長度的鏈。
 2 // 算法:因為m要最大,所以每次Xi只能乘以一個質因子。若不然可以得到一個更短的鏈。
 3 // 先求出所有的質因子,所有質因子的排列除以重復的次數就是這種鏈的個數. 
 4 
 5 #include <iostream>
 6 #include <math.h>
 7 
 8 using namespace std;
 9 
10 __int64 p[172];
11 // 因子數目最多是20個
12 int e[21];
13 int cnt;
14 __int64 factor[21];
15 
16 // naive method
17 void prime2()
18 {
19     int i,j,k,flag;
20     p[0]=2;
21     cnt=1;
22     for(i=3;i<1024;i++){
23         flag=0;
24         j=sqrt(1.0*i);
25 
26         for(k=2;k<=j;k++){
27             if(i%k==0) {flag=1;break;}
28         }
29         if(!flag) p[cnt++]=i;
30     }
31 }
32 
33 void prime()
34 {
35     int i,j,flag;
36     p[0]=2;
37     p[1]=3;
38     cnt=2;
39     for(i=5;i<=1024;i+=2){
40         flag=0;
41         for(j=1;p[j]*p[j]<=i;j++){
42             if(i%p[j]==0) {flag=1;break;}
43         }
44         if(!flag) p[cnt++]=i;
45     }
46 }
47 
48 // 先質因子分解,再求組合的個數
49 void solve(__int64 a)
50 {
51     // j統計所有質因子的個數,k統計不同質因子個數
52     int i,j=0,flag,l=0;
53     memset(e,0,sizeof(e));
54     // 用1024以內的素數分解a,注意到a<=2^20,a最多含有一個超過1024的質因子 
55     // a=p1^e1*p2^e2**pk^ek*ps^es,其中只有ps是大于1024的素數,且es只能為0或1
56     for(i=0;i<cnt && a>1;i++){
57         flag=0;
58         while(a%p[i]==0){
59             flag=1;
60             e[l]++;
61             a/=p[i];
62             j++;
63         }
64         if(flag==1) l++;
65     }
66     // 若此時a!=1則a一定是素數
67     if(a!=1) {j++;e[l++]=1;}
68     __int64 res = factor[j];
69     for(i=0;i<l;i++){
70         if(e[i]!=0) res/=factor[e[i]];
71     }
72     printf("%d %I64d\n",j,res);
73 }
74 
75 int main()
76 {
77     prime1();
78     //cnt=172;
79     // 階乘
80     factor[0]=1;
81     for(__int64 i=1;i<21;i++) factor[i]=factor[i-1]*i;
82     __int64 a;
83     while(scanf("%I64d",&a)!=EOF){
84         solve(a);
85     }
86     
87     return 1;
88 }
89 
posted on 2008-05-06 20:11 bon 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: Programming Contest

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


Google PageRank 
Checker - Page Rank Calculator
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲福利视频二区| 亚洲大片在线| 亚洲视频www| 亚洲精品在线观看免费| 欧美日韩伦理在线免费| 夜夜嗨一区二区| 一区二区三区 在线观看视频| 欧美三级在线视频| 欧美一区永久视频免费观看| 久久se精品一区精品二区| 国产一区二区主播在线| 欧美成人精品一区二区| 欧美福利一区二区| 亚洲欧美另类中文字幕| 久久久999| 99国产精品99久久久久久| 中国日韩欧美久久久久久久久| 国产日韩在线亚洲字幕中文| 免费观看日韩| 欧美日韩一二区| 久久视频在线看| 欧美日韩高清在线观看| 久久久久综合| 欧美日韩1区| 久久精品视频va| 欧美精品啪啪| 久久免费观看视频| 欧美日韩亚洲综合一区| 久热精品在线视频| 国产精品地址| 亚洲国产欧美精品| 国产毛片精品国产一区二区三区| 欧美成人免费在线| 国产精品日韩在线| 91久久综合亚洲鲁鲁五月天| 国产欧美日韩亚州综合| 亚洲人成网站在线观看播放| 国产日韩欧美综合| aaa亚洲精品一二三区| 一区视频在线| 午夜久久久久久| 中国成人黄色视屏| 欧美成人中文| 美女诱惑一区| 国产亚洲成年网址在线观看| 亚洲伦理在线观看| 亚洲日本成人网| 久久久久国产精品午夜一区| 午夜欧美电影在线观看| 欧美日产国产成人免费图片| 欧美粗暴jizz性欧美20| 国产夜色精品一区二区av| 一本一本a久久| 亚洲视频你懂的| 欧美日韩国产小视频| 亚洲成色www久久网站| 伊人精品久久久久7777| 欧美一区二区大片| 久久精品国产99国产精品澳门| 欧美性猛交99久久久久99按摩| 亚洲区一区二| 一区二区欧美激情| 欧美日韩亚洲一区二区| 亚洲精品一品区二品区三品区| 91久久中文| 欧美成人精品不卡视频在线观看| 免费成人性网站| 亚洲国产精选| 免费观看国产成人| 亚洲国产三级网| 夜夜夜精品看看| 国产精品v欧美精品v日韩| 在线中文字幕日韩| 欧美诱惑福利视频| 国内欧美视频一区二区| 久久久久久久尹人综合网亚洲| 美女尤物久久精品| 91久久久亚洲精品| 欧美日韩精品一区二区三区| 在线亚洲高清视频| 久久久av网站| 亚洲欧洲日夜超级视频| 欧美久久一级| 亚洲一本视频| 免费欧美网站| 一本一本久久a久久精品综合麻豆| 欧美精品在线极品| 亚洲尤物精选| 欧美大片在线影院| 亚洲亚洲精品三区日韩精品在线视频 | 国产日韩欧美91| 久久露脸国产精品| 亚洲人精品午夜| 翔田千里一区二区| 亚洲第一中文字幕| 欧美视频一区二区| 久久精品亚洲一区| 亚洲毛片在线| 久久精品一区| 日韩视频在线一区二区| 国产欧美精品日韩精品| 免播放器亚洲| 亚洲欧美日韩另类精品一区二区三区 | 国产精品久久久99| 久久伊人免费视频| 亚洲手机在线| 欧美激情91| 久久精品视频在线观看| 亚洲精选中文字幕| 国产一区二区久久| 欧美日本一道本在线视频| 欧美在线播放一区| 一本久道久久综合婷婷鲸鱼| 久久久久久9999| 亚洲午夜久久久久久尤物| 亚洲电影免费观看高清| 国产精品老牛| 欧美日韩免费一区二区三区| 久久久999精品| 午夜影院日韩| 一区二区三区日韩欧美| 亚洲国产精品va在看黑人| 久久久久久久网| 午夜视频久久久| av不卡在线看| 亚洲黄一区二区三区| 国内一区二区在线视频观看 | 久久精品亚洲精品国产欧美kt∨| 日韩亚洲欧美高清| 亚洲国产精品va| 欧美电影美腿模特1979在线看| 久久久精品日韩欧美| 香蕉成人伊视频在线观看| 在线午夜精品自拍| 日韩午夜精品视频| 亚洲精品一区二区三区蜜桃久| 精久久久久久| 一区在线播放| 亚洲二区视频| 亚洲电影免费观看高清完整版在线观看| 国产精品av免费在线观看| 欧美日韩免费观看一区三区 | 久久久久久久性| 欧美一区二区性| 欧美亚洲免费电影| 欧美在线观看一区| 久久女同互慰一区二区三区| 久久久久中文| 欧美mv日韩mv国产网站app| 欧美成人免费播放| 欧美精品一区二区三| 欧美日韩久久久久久| 欧美三级免费| 国产美女一区二区| 激情综合色综合久久| 亚洲国产一区在线观看| 91久久综合| 亚洲一区二区三区影院| 午夜精品福利视频| 久久天天狠狠| 亚洲国产成人午夜在线一区| 亚洲精品国产系列| 亚洲伊人一本大道中文字幕| 欧美亚洲在线| 欧美大尺度在线观看| 欧美视频久久| 国产一区二区高清不卡| 亚洲电影免费在线| 亚洲社区在线观看| 久久黄金**| 亚洲高清在线观看一区| 一区二区三区欧美在线| 欧美一级在线播放| 欧美精品电影| 国产亚洲精品aa| 亚洲日本成人在线观看| 香蕉乱码成人久久天堂爱免费| 久久久www成人免费无遮挡大片| 欧美肥婆在线| 亚洲一区区二区| 欧美成人一区二区三区在线观看 | 欧美韩日高清| 国产亚洲亚洲| 中文在线不卡| 麻豆精品视频在线| 亚洲午夜国产一区99re久久 | 久久久久久久97| 国产精品久久久久高潮| 亚洲国产老妈| 久久动漫亚洲| 99国产精品99久久久久久| 久久久xxx| 国产精品永久免费观看| 亚洲精品欧美日韩专区| 久久精品三级| 亚洲视频1区| 欧美精品一区视频| 伊人久久婷婷| 久久激情婷婷| 亚洲一区二区综合|