poj 3274 數的雜湊

2022-03-12 14:09:31 字數 1056 閱讀 1806

據說這題很經典噢~開始的分析也經典。題目的分析我就不多說了,具體可以參考:一看就很清楚了(感謝這位博主)。但他用的hash函式我暫時是不能理解,說以沒用它的方法。自己寫了個簡單的hash方法,似乎還挺湊效,然後再處理衝突。一開始時,我是先hash一邊,然後再來個for迴圈來判斷每個hash值....tle。不行啊,然後換了個方法,hash和找最大值同步進行,這樣就省去了最後的一次遍歷,很能節省時間。還有就是要注意前導的全零,沒有的話就wa.我就錯了好多次,後來看了discuss才明白的,感謝那裡面的大牛。比如測試這個:

4  4     一開始我輸出的是零。。才發現沒有前導的零。。改了之後ac了。嘿嘿!!不錯不錯  通過這題,對hash又有了深刻的認識。

#include #include 

using

namespace

std;

#define max 100001

int a[max][31

];int n,k,maxlen=0

,dist;

struct

hash

}hash[max];

bool cmp(int ai,int

bi)int

main()

i=1;

while(1

)

i++;

}inttem;

for(i=1; i<=n; i++)

}for(i=0; i<=n; i++)

//轉存hash

for(i=0; i<=n; i++)

if(hash[sum].used) //

衝突

else

tem=tem->next;}}

if(!flag)//

沒有找到相等的

}else

//沒有衝突

}printf(

"%d\n

",maxlen);

return0;

}

poj3274陣列的雜湊

poj3274 這道題做得坎坷啊,剛開始沒注意看hint,硬生生地一直看不懂題意。好不容易看懂題目後也沒什麼思路。參看別人的思路後了下面巨醜無比的 懶得改了。這道理給我的收穫就是,有些題目不能急,是需要先用數學推理一些等價關係後才會知道該用什麼演算法的。思路 sum i j 前i頭牛的feature...

資料結構之雜湊(poj3274)

寒假集訓的時候學習了一下雜湊,但是一直沒有練習,這幾天找了幾道雜湊的題目,發現忘的差不多了。做了幾道題之後發現雜湊真的是乙個很高效的資料結構,體驗到了資料結構的強大。構建雜湊表示為了能夠更高效率的查詢,還記得小學的時候查字典嗎?其實雜湊就相當於那樣乙個東西,他把資料按照一定的雜湊函式生成乙個鍵值,然...

POJ3274 牛的屬性 HASH ACM

原題 poj3274 參考 進擊的阿俊 已知有n頭牛,用乙個k位二進位制數ak,ak 1,a1表示一頭牛具有的特徵,ai 1表示具有特徵i。現給定按順序排列的n頭牛的k位特徵值,稱某個連續範圍內 特徵平衡 假如在這個範圍內,擁有各個特徵的牛的數量都相等。求最大 特徵平衡 連續範圍。分析 用sum i...