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

no_rain

hdoj1496(hash)

這道題在a,b,c,d未知的情況下,是有200萬的可能的結果,但是當a,b,c,d給定則變成2萬了,當然這2萬是不連續的,那么為了節省空間,可以用線性探測,數組要開的比2萬大。
無線性探測代碼
 1 #include<cstdio>
 2 #include<cstring>
 3 int hash[2000001] ;
 4 int hash_fun(int num){
 5   return num + 1000000;
 6 }
 7 int main(){
 8   int a,b,c,d;
 9   int sq[101={0};
10   for(int i = 1; i <= 100; i++)
11     sq[i] = i*i;
12   while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF){
13     if((a<0 && b<0 && c<0 && d<0|| 
14        (a>0 && b>0 && c>0 && d>0) ){
15       printf("0\n");
16       continue;
17     }
18     memset(hash,0,sizeof(hash));
19     for(int i = 1; i <= 100; i++)
20       for(int j = 1; j <= 100; j++)
21     hash[hash_fun(-sq[i]*- sq[j]*b)]++;
22     int ans = 0;
23     for(int i = 1; i <= 100; i++)
24       for(int j = 1; j <= 100; j++)
25     ans += hash[hash_fun(sq[i]*+ sq[j]*d)];
26     printf("%d\n",ans*16);
27   }
28 }
29       
線性探測:h(k)%S被占用,則用(h(k)+i)%S,直到找到沒有被占用的,因為使用線性探測就使h(k)存在不確定性,故在h(k)處必須保存k的值,即該數組是一結構體的數組。
先說一下一段錯誤的代碼
 1 #include<cstdio>
 2 #include<cstring>
 3 const int maxn = 21000;
 4 struct hashn{
 5   int k;
 6   int c;
 7 };
 8 hashn hash[100000] ;
 9 int hash_fun(int num){
10   int t = num % maxn;
11   if(t < 0)t += maxn;
12   while(hash[t].k != 0 ){
13     if(hash[t].k == num)return t;
14     t = (t+1)%maxn;
15     if(t<0) t+= maxn;
16   }
17   hash[t].k = num;
18   return t;
19 }
20 int hash_fun2(int num){
21   int t = num % maxn;
22   if(t < 0)t += maxn;
23   while(hash[t].k != 0 ){
24     if(hash[t].k == num)return t;
25     t = (t+1)%maxn;
26     if(t<0) t+ maxn;
27   }
28   return t;
29 }
30 int main(){
31   int a,b,c,d;
32   int sq[101={0};
33   for(int i = 1; i <= 100; i++)
34     sq[i] = i*i;
35   while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF){
36     if((a<0 && b<0 && c<0 && d<0|| 
37        (a>0 && b>0 && c>0 && d>0) ){
38       printf("0\n");
39       continue;
40     }
41     for(int i = 1; i <= 100000;i++)
42       hash[i].c = hash[i].k = 0;
43     for(int i = 1; i <= 100; i++)
44       for(int j = 1; j <= 100; j++)
45     hash[hash_fun(-sq[i]*- sq[j]*b)].c++;
46     int ans = 0;
47     for(int i = 1; i <= 100; i++)
48       for(int j = 1; j <= 100; j++){
49     int temp = hash_fun(sq[i]*+ sq[j]*d);
50     ans += hash[temp].c;
51       }
52     printf("%d\n",ans*16);
53   }
54 }
這段代碼有一個比較明顯的錯誤,還有一個不明顯但是很容易錯的地方。
maxn定為21000過小了,即使數組足夠大,但是這也只用到了21000。
另一個就是:初始化hash表的時候的值在所有可能的取值中出現了!(k初始化為0)
改正后的代碼:
 1 #include<cstdio>
 2 #include<cstring>
 3 const int maxn = 51000;
 4 struct hashn{
 5   int k;
 6   int c;
 7 };
 8 hashn hash[100000] ;
 9 int hash_fun(int num){
10   int t = num % maxn;
11   if(t < 0)t += maxn;
12   while(hash[t].k != -1){
13     if(hash[t].k == num)return t;
14     t = (t+1)%maxn;
15   }
16   hash[t].k = num;
17   return t;
18 }
19 int main(){
20   int a,b,c,d;
21   int sq[101={0};
22   for(int i = 1; i <= 100; i++)
23     sq[i] = i*i;
24   while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF){
25     if((a<0 && b<0 && c<0 && d<0|| 
26        (a>0 && b>0 && c>0 && d>0) ){
27       printf("0\n");
28       continue;
29     }
30     for(int i = 0; i <= 100000;i++){
31       hash[i].c = 0;
32       hash[i].k = -1;
33     }
34     for(int i = 1; i <= 100; i++)
35       for(int j = 1; j <= 100; j++)
36     hash[hash_fun(-sq[i]*- sq[j]*b)].c++;
37     int ans = 0;
38     for(int i = 1; i <= 100; i++)
39       for(int j = 1; j <= 100; j++){
40     int temp = hash_fun(sq[i]*+ sq[j]*d);
41     ans += hash[temp].c;
42       }
43     printf("%d\n",ans*16);
44   }
45 }

posted on 2011-11-16 18:10 is-programmer 閱讀(175) 評論(0)  編輯 收藏 引用 所屬分類: 算法與數據結構


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


導航

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

統計

常用鏈接

留言簿

隨筆檔案

文章分類

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情第三页| 欧美日韩免费一区二区三区| 国产精品一区在线播放| 亚洲一区二区久久| 亚洲在线国产日韩欧美| 国产精品丝袜白浆摸在线| 亚洲在线视频免费观看| 中文日韩电影网站| 国产午夜久久久久| 欧美ed2k| 欧美日韩中文| 久久久精品五月天| 欧美成人免费视频| 亚洲欧美日韩精品一区二区| 亚洲免费网址| 亚洲区欧美区| 亚洲视频在线视频| 精品成人国产| 亚洲免费不卡| 精品盗摄一区二区三区| 亚洲日本理论电影| 国产视频精品va久久久久久| 欧美高清视频一区二区| 欧美日韩国产色站一区二区三区| 香蕉久久夜色| 久久综合婷婷| 午夜亚洲福利| 老司机午夜精品视频| 亚洲一级黄色片| 久久久久久91香蕉国产| 亚洲天天影视| 噜噜噜久久亚洲精品国产品小说| 一本一本久久a久久精品牛牛影视| 亚洲欧美另类在线| 亚洲久久视频| 久久精品视频va| 亚洲在线成人精品| 欧美激情视频一区二区三区不卡| 久久精品国产亚洲一区二区三区| 欧美电影免费观看大全| 久久国产天堂福利天堂| 欧美日韩精品三区| 欧美国产另类| 激情综合久久| 欧美在线观看网站| 亚洲自拍偷拍麻豆| 欧美日韩国产成人在线| 欧美www视频| 国产日本欧美在线观看| 宅男在线国产精品| 99视频精品全国免费| 久久这里只有| 久久久精品一品道一区| 国产乱人伦精品一区二区 | 国内久久婷婷综合| 亚洲伦理久久| 亚洲精选一区| 欧美劲爆第一页| 亚洲福利专区| 最新国产乱人伦偷精品免费网站| 久久深夜福利| 久热综合在线亚洲精品| 国产在线一区二区三区四区| 欧美一区二区三区免费观看视频| 亚洲欧美日韩综合aⅴ视频| 欧美三日本三级三级在线播放| 亚洲激情av在线| 日韩一级免费| 欧美日本精品在线| 99精品国产热久久91蜜凸| 在线一区二区三区做爰视频网站| 免费成人在线视频网站| 欧美大色视频| 一本色道久久综合亚洲二区三区 | 久久频这里精品99香蕉| 久久免费黄色| 在线播放中文字幕一区| 美女久久一区| 亚洲美女色禁图| 亚洲一区二区精品在线观看| 国产精品久久久久久久7电影| 亚洲午夜精品久久| 欧美影视一区| 在线精品视频一区二区三四| 久久这里只精品最新地址| 亚洲黑丝在线| 亚洲伊人网站| 狠狠色噜噜狠狠色综合久| 免费永久网站黄欧美| 亚洲日本久久| 欧美在线视频一区二区| 在线观看不卡av| 欧美日本乱大交xxxxx| 亚洲一区二区欧美日韩| 久久精品亚洲精品| 亚洲国产精品123| 欧美日韩综合一区| 久久精品国产91精品亚洲| 亚洲大胆女人| 先锋影音久久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久精品国产综合精品| 亚洲国产精品女人久久久| 欧美久久99| 性欧美videos另类喷潮| 欧美第十八页| 亚洲欧美日韩专区| 亚洲黄色有码视频| 国产欧美日韩另类视频免费观看| 久久在线免费观看视频| 亚洲一区二区免费视频| 亚洲成人自拍视频| 欧美一区成人| 日韩网站在线观看| 激情综合网址| 国产伦精品一区二区三区免费 | 欧美精品久久99| 欧美一区二区三区精品| 日韩视频欧美视频| 猫咪成人在线观看| 欧美一区二区三区在线免费观看| 亚洲美女免费视频| 国内成+人亚洲+欧美+综合在线| 欧美日韩一区二区在线观看| 久久久久www| 午夜精品久久久久99热蜜桃导演| 亚洲欧洲一级| 欧美黄色成人网| 久久久视频精品| 午夜国产欧美理论在线播放| 日韩亚洲在线| 亚洲人成7777| 最新国产の精品合集bt伙计| 国语自产精品视频在线看抢先版结局| 欧美视频亚洲视频| 欧美日韩精品二区第二页| 久久久久国色av免费看影院| 欧美一区二区三区免费观看| 亚洲欧美日韩国产综合| 中文欧美在线视频| 99国产精品一区| 日韩天天综合| 亚洲图色在线| 亚洲欧美日韩国产综合在线| 中文国产成人精品久久一| 一区二区高清在线| 9人人澡人人爽人人精品| 亚洲精选在线| 亚洲一区二区三区四区五区午夜 | 久久亚洲美女| 久久精品最新地址| 久久精品国产在热久久| 久久久久www| 欧美成人精品1314www| 欧美1区3d| 亚洲观看高清完整版在线观看| 欧美不卡在线视频| 亚洲黄色尤物视频| 日韩亚洲欧美一区| 亚洲综合精品一区二区| 午夜激情一区| 久久天堂成人| 欧美精品18+| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久 | 久久香蕉国产线看观看网| 久久精品亚洲一区二区| 蜜桃久久av| 日韩网站免费观看| 亚洲欧洲av一区二区| 久久久久久亚洲精品杨幂换脸 | 国产午夜精品久久久| 经典三级久久| 99riav1国产精品视频| 亚洲一区日韩在线| 久久久精品tv| 亚洲久久一区二区| 欧美一级大片在线免费观看| 久久综合成人精品亚洲另类欧美| 欧美激情二区三区| 国产日韩综合| 夜夜嗨av一区二区三区四区| 久久精品国产精品亚洲精品| 亚洲电影免费观看高清完整版在线观看 | 久久久久久久波多野高潮日日| 欧美高清视频一区二区三区在线观看| 国产精品狠色婷| 亚洲国产欧美一区| 欧美一区二区视频观看视频| 免费在线日韩av| 亚洲视频在线观看免费| 久久午夜视频| 国产欧美日韩视频一区二区| 亚洲卡通欧美制服中文| 久久精品国产99精品国产亚洲性色 | 99在线精品观看| 蜜桃久久av| 午夜精品国产更新| 欧美日韩国产综合视频在线观看| 国语自产精品视频在线看8查询8| 亚洲一区二区四区|