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

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 閱讀(170) 評論(0)  編輯 收藏 引用 所屬分類: 算法與數據結構

導航

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統計

常用鏈接

留言簿

隨筆檔案

文章分類

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            蜜桃久久av一区| 亚洲福利在线看| 亚洲精品欧洲精品| 欧美99久久| 亚洲精品在线观| 亚洲免费高清视频| 久久九九精品| 怡红院精品视频| 欧美大片网址| 欧美国产在线观看| 亚洲网站在线播放| 一本色道婷婷久久欧美| 欧美成人午夜| 亚洲图片激情小说| 亚洲欧美国产高清| 激情久久影院| 亚洲国产精品成人综合| 久久青青草原一区二区| 最新成人在线| 日韩视频不卡| 国产欧美亚洲一区| 欧美激情精品久久久久久久变态 | 亚洲在线视频| 亚洲一区三区电影在线观看| 国产精品亚洲综合| 欧美www在线| 欧美精品videossex性护士| 亚洲一区久久久| 亚洲欧美日韩系列| 国产精品日韩久久久久| 久久久亚洲综合| 欧美国产三级| 中文亚洲欧美| 久久久亚洲精品一区二区三区| 99成人在线| 亚洲精品在线三区| 国产日韩在线看| 亚洲黄一区二区三区| 国产农村妇女毛片精品久久莱园子 | 在线亚洲+欧美+日本专区| 狠狠色丁香久久婷婷综合_中| 91久久久久久久久| 国产一区自拍视频| 亚洲伦理在线免费看| 激情91久久| 欧美国产视频在线观看| 国产老女人精品毛片久久| 欧美激情一区二区三区| 国产日韩在线看片| 亚洲国产91精品在线观看| 国产视频不卡| 一二三区精品福利视频| 在线观看日韩欧美| 亚洲欧美精品| 最新日韩在线| 久久精品中文| 欧美在线观看天堂一区二区三区| 欧美连裤袜在线视频| 玖玖在线精品| 国产乱人伦精品一区二区| 夜夜爽av福利精品导航| 亚洲人成网站色ww在线| 久久久久国内| 久久视频一区| 国产欧美91| 亚洲性视频网址| 亚洲一区二区日本| 欧美日韩国产大片| 麻豆国产精品777777在线| 国产一区二区三区丝袜| 午夜亚洲性色福利视频| 亚洲欧美综合精品久久成人| 农村妇女精品| 亚洲成色www久久网站| 亚洲国产1区| 久久中文欧美| 男女视频一区二区| 伊人色综合久久天天| 久久久久在线观看| 久久在线91| 亚洲成在线观看| 久久综合影音| 亚洲国产日韩欧美综合久久| 亚洲毛片视频| 欧美日韩在线精品一区二区三区| 亚洲免费激情| 午夜精品一区二区三区在线| 欧美性淫爽ww久久久久无| 亚洲视频精选在线| 久久精品视频在线免费观看| 国产亚洲日本欧美韩国| 亚洲欧美国产毛片在线| 久久精品亚洲一区| 国外成人在线视频| 欧美大片网址| 欧美一区二区黄色| 亚洲国内高清视频| 欧美在线国产精品| 亚洲每日在线| 韩国欧美一区| 欧美日一区二区在线观看| 久久精品电影| 中文国产成人精品| 欧美福利一区二区| 久久本道综合色狠狠五月| 亚洲毛片在线看| 国产一区二区三区的电影 | 亚洲女优在线| 亚洲精品乱码久久久久| 美女诱惑黄网站一区| 午夜欧美理论片| 日韩一级欧洲| 亚洲高清在线视频| 国内精品久久久久影院色| 欧美视频在线观看免费网址| 女主播福利一区| 久久国产精品一区二区| 亚洲伊人网站| 99在线热播精品免费| 欧美激情久久久久| 久久综合综合久久综合| 欧美在线一二三| 亚洲在线免费视频| 亚洲午夜精品17c| 一本久久知道综合久久| 亚洲日本一区二区| 亚洲成人影音| 亚洲成人在线视频播放| 韩国成人福利片在线播放| 国产亚洲一区二区三区| 国产欧美视频一区二区| 国产精品成人国产乱一区| 欧美日韩国产色综合一二三四| 蜜臀av性久久久久蜜臀aⅴ| 久久亚洲精品视频| 久久蜜臀精品av| 久久三级福利| 免费毛片一区二区三区久久久| 久久婷婷国产综合国色天香| 久久久噜噜噜久久中文字幕色伊伊| 亚洲欧美bt| 欧美在线免费观看亚洲| 久久aⅴ乱码一区二区三区| 久久狠狠一本精品综合网| 欧美一站二站| 玖玖在线精品| 欧美国产一区二区在线观看| 欧美精品一卡| 欧美系列精品| 国产亚洲精品久久久久婷婷瑜伽| 国产午夜精品视频| 在线精品国精品国产尤物884a| 在线观看中文字幕亚洲| 亚洲精一区二区三区| 一本久久综合亚洲鲁鲁| 午夜精品久久久久久久久久久久久| 久久大香伊蕉在人线观看热2| 久久蜜桃香蕉精品一区二区三区| 毛片基地黄久久久久久天堂| 亚洲激情二区| 亚洲午夜激情| 久久精品一区二区三区四区| 免费视频一区二区三区在线观看| 欧美日韩国产页| 国产精品亚洲综合一区在线观看 | 亚洲日本激情| 亚洲字幕一区二区| 久久综合给合| 亚洲免费观看高清在线观看 | 久久精品最新地址| 欧美伦理影院| 国产一区二区精品久久| 亚洲日本乱码在线观看| 性伦欧美刺激片在线观看| 麻豆精品在线观看| aaa亚洲精品一二三区| 久久久美女艺术照精彩视频福利播放| 欧美激情在线免费观看| 国产麻豆一精品一av一免费| 亚洲日本一区二区| 久久久久欧美精品| 日韩亚洲在线| 裸体丰满少妇做受久久99精品| 国产精品99免费看| 亚洲人成人一区二区在线观看| 久久国产88| 日韩午夜精品| 毛片一区二区三区| 国产欧美一区二区在线观看| 99视频超级精品| 欧美成人精品一区| 欧美一区精品| 国产精品激情电影| 91久久亚洲| 久久最新视频| 欧美在线电影| 国产精品theporn88| 99爱精品视频| 亚洲国产美女| 麻豆精品视频在线观看|