查詢 雜湊優化

2022-02-18 22:01:14 字數 1297 閱讀 8379

《傳送門》

【題目大意】

每片雪花都有6條arm,每條arm都有自己的長度,現在給你n個雪花,判斷其中有沒有同構的雪花。

同構的含義:每片雪花都可以旋轉,而且可以前後翻轉,只要滿足6條arm相等且一一對應就是同構。

【題目分析】

雜湊表拉鍊法,如果沒找到和當前雪花相同的雪花則將該雪花存入雜湊表,等待下次查詢,如果找到相同的雪花則輸出。

#include #include 

#include

#include

#include

using

namespace

std;

typedef

struct

node

next =null;

}}node;

intmain()

if (!flag)

else}}

}node *newnode = new

node;

for (int j = 0; j < 6; j++)

pnode->next =newnode;}}

if(flag)

else

return0;

}

view code

其實這題暴力也能過,而且超簡單。

#include#include

#include

using

namespace

std;

struct

node

;node node[

100010

];int a[6

];bool

cmp(node x,node y)

intmain()

sort(a,a+6

); node[i].a=a[0

]; node[i].b=a[1

]; node[i].c=a[2

]; node[i].d=a[3

]; node[i].e=a[4

]; node[i].f=a[5

]; }

sort(node,node+t,cmp);

bool flag=0

;

for(i=0;i1;i++)

}if(!flag)

printf(

"no two snowflakes are alike.\n");

return0;

}

view code

查詢 雜湊表查詢(雜湊表)

1 雜湊表查詢定義 雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 查詢時,根據這個確定的對應關係找到給定值key的對映f key 若查詢集合中存在這個記錄,則必定在f key 的位置上。採用雜湊技術將記錄儲存在一塊連續的儲存空間中...

資料結構查詢 雜湊查詢(雜湊查詢)

通常我們查詢資料都是通過乙個乙個地比較來進行,有一種方法,要尋找的資料與其在資料集中的位置存在一種對應的關係,通過這種關係就能找到資料的位置。這個對應關係成為雜湊函式 雜湊函式 因此建立的表為雜湊表 雜湊表 雜湊查詢是關鍵字與在資料集中的位置一一對應,通過這種對應關係能快速地找到資料,雜湊查詢中雜湊...

查詢 之 雜湊表查詢(雜湊表)

雜湊技術是在記錄的儲存位置和它的關鍵字之間建立乙個確定的對應關係f,使得每個關鍵字key對應乙個儲存位置f key 這裡對應關係f稱為雜湊函式,又稱為雜湊 hash 函式。採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或雜湊表 hash table 雜湊技術既是一種儲存方法...