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

no_rain

hdoj1496(hash)

這道題在a,b,c,d未知的情況下,是有200萬(wàn)的可能的結(jié)果,但是當(dāng)a,b,c,d給定則變成2萬(wàn)了,當(dāng)然這2萬(wàn)是不連續(xù)的,那么為了節(jié)省空間,可以用線性探測(cè),數(shù)組要開(kāi)的比2萬(wàn)大。
無(wú)線性探測(cè)代碼
 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       
線性探測(cè):h(k)%S被占用,則用(h(k)+i)%S,直到找到?jīng)]有被占用的,因?yàn)槭褂镁€性探測(cè)就使h(k)存在不確定性,故在h(k)處必須保存k的值,即該數(shù)組是一結(jié)構(gòu)體的數(shù)組。
先說(shuō)一下一段錯(cuò)誤的代碼
 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 }
這段代碼有一個(gè)比較明顯的錯(cuò)誤,還有一個(gè)不明顯但是很容易錯(cuò)的地方。
maxn定為21000過(guò)小了,即使數(shù)組足夠大,但是這也只用到了21000。
另一個(gè)就是:初始化hash表的時(shí)候的值在所有可能的取值中出現(xiàn)了!(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 閱讀(173) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 算法與數(shù)據(jù)結(jié)構(gòu)


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計(jì)

常用鏈接

留言簿

隨筆檔案

文章分類

文章檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产一区二区| 国产精品日韩精品欧美在线| 亚洲国产高清在线观看视频| 亚洲欧美在线免费观看| 一区二区三区蜜桃网| 亚洲精品免费在线| 亚洲一区二区三区视频| 午夜视频在线观看一区| 久久精品首页| 欧美高清视频一区二区三区在线观看| 欧美+亚洲+精品+三区| 亚洲人体1000| 欧美一区二区久久久| 免费永久网站黄欧美| 欧美日韩国产天堂| 国产美女搞久久| 亚洲第一天堂av| 一区二区三区日韩精品| 久久久久.com| 亚洲精品国精品久久99热| 亚洲免费一区二区| 免费黄网站欧美| 国产伦理精品不卡| 亚洲第一页自拍| 亚洲欧美日韩国产一区二区三区| 久久久久综合网| 日韩午夜电影av| 久久久久久夜| 国产精品人人做人人爽| 在线观看免费视频综合| 午夜精品一区二区三区在线| 久久人人爽国产| 日韩一级黄色片| 久久久久成人精品免费播放动漫| 欧美精品一区二区三区一线天视频| 国产伦精品一区二区| 日韩五码在线| 欧美 日韩 国产精品免费观看| 国产精品s色| 欧美视频在线观看一区| 尤物九九久久国产精品的特点| 一区二区免费在线视频| 麻豆精品一区二区av白丝在线| 亚洲免费成人av| 免费在线观看精品| 一色屋精品亚洲香蕉网站| 午夜视频久久久| 艳女tv在线观看国产一区| 欧美搞黄网站| 亚洲国产日韩美| 免费久久99精品国产自| 久久av免费一区| 国产视频自拍一区| 午夜在线电影亚洲一区| 夜久久久久久| 欧美天天影院| 亚洲欧美高清| 亚洲影院免费观看| 国产美女精品免费电影| 欧美一区二区视频在线| 亚洲欧美一区二区三区在线| 国产精品色婷婷| 午夜精品久久久久久久男人的天堂| 日韩午夜免费视频| 欧美性大战xxxxx久久久| 一区二区冒白浆视频| 亚洲日本理论电影| 欧美区国产区| 亚洲一区二区成人在线观看| 亚洲婷婷在线| 国产人成一区二区三区影院| 欧美一区二区三区四区在线观看地址 | 亚洲精品日产精品乱码不卡| 老司机免费视频一区二区| 久久精品国亚洲| 国产精品一区久久久久| 欧美诱惑福利视频| 久久精品国产一区二区三区| 在线免费观看视频一区| 亚洲国产精品一区二区三区| 欧美激情中文不卡| 亚洲免费网址| 久久大逼视频| 亚洲免费福利视频| 亚洲欧美日韩国产综合在线| 极品尤物久久久av免费看| 亚洲第一网站免费视频| 欧美日韩在线三区| 久久久人成影片一区二区三区观看 | 欧美一二区视频| 亚洲国产三级在线| 欧美日韩中文字幕| 久久国产福利国产秒拍| 美女视频一区免费观看| 亚洲视频免费在线观看| 欧美一区二区三区婷婷月色 | 欧美日韩mp4| 欧美亚洲三区| 欧美91精品| 欧美一区二区国产| 米奇777超碰欧美日韩亚洲| 亚洲无亚洲人成网站77777 | 亚洲一区二区在线免费观看视频 | aa级大片欧美三级| 欧美一区二区三区在线观看视频 | 欧美在线www| 欧美激情精品久久久久| 久久久精品一区二区三区| 欧美人与禽猛交乱配| 久久人人九九| 国产精品欧美激情| 亚洲日本免费电影| 亚洲国产高潮在线观看| 性8sex亚洲区入口| 亚洲尤物视频网| 欧美不卡视频| 久久伊人免费视频| 国产精品婷婷| 99视频超级精品| 亚洲精品乱码久久久久| 久久九九精品99国产精品| 欧美在线视频观看免费网站| 欧美日韩在线三区| 最新国产乱人伦偷精品免费网站| 国内成人精品视频| 久久天天躁狠狠躁夜夜爽蜜月 | 欧美人与性动交a欧美精品| 久久久另类综合| 国产欧美日韩亚洲| 亚洲综合国产精品| 亚洲在线观看视频网站| 欧美午夜性色大片在线观看| 亚洲精品乱码久久久久久日本蜜臀| 精品av久久久久电影| 久久精品国产亚洲高清剧情介绍| 欧美自拍偷拍午夜视频| 国产精品麻豆成人av电影艾秋| 亚洲精品国精品久久99热一| 亚洲欧洲在线一区| 欧美黄色网络| 亚洲精品麻豆| 亚洲精品日韩在线| 夜夜嗨av一区二区三区网站四季av| 久久久久久亚洲精品杨幂换脸| 久久视频精品在线| 在线电影国产精品| 久久久久久久激情视频| 麻豆国产va免费精品高清在线| 韩日欧美一区| 蜜桃久久精品乱码一区二区| 亚洲国产精选| 亚洲欧美日韩中文在线制服| 国产日韩精品久久久| 久久久.com| 亚洲精品久久久久久久久久久久 | 99re6热在线精品视频播放速度| 另类激情亚洲| 亚洲国产精品女人久久久| 99国产精品99久久久久久粉嫩| 欧美精选在线| 亚洲一区二区三区在线看| 久久久久国内| 日韩一级免费| 国产亚洲精品福利| 久久人人九九| 妖精视频成人观看www| 久久国产精品久久久久久| 在线国产亚洲欧美| 欧美午夜电影在线观看| 欧美中文在线观看国产| 亚洲国产精品激情在线观看| 亚洲自拍电影| 一区二区亚洲精品国产| 欧美日韩在线视频一区二区| 欧美一区影院| 99日韩精品| 欧美激情a∨在线视频播放| 亚洲在线不卡| 亚洲国产一区二区a毛片| 国产精品乱人伦一区二区| 久久婷婷国产综合国色天香| 一区二区久久久久| 亚洲第一精品在线| 久久av二区| 日韩亚洲成人av在线| 国外成人性视频| 国产精品99一区二区| 久久婷婷丁香| 欧美一区=区| 亚洲午夜免费福利视频| 亚洲欧洲偷拍精品| 麻豆精品精华液| 欧美中文字幕视频| 亚洲一区二区在线免费观看| 亚洲人成网在线播放| 在线播放豆国产99亚洲| 国产日韩亚洲| 国产欧美69| 国产精品国产三级国产aⅴ浪潮| 欧美高清你懂得|