Acwing 840 模擬雜湊表 鍊錶法模擬

2022-01-19 10:16:19 字數 778 閱讀 3707

解析:

關於mod:一般要取質數 ,要離2的整次冪盡可能遠,降低衝突概率,這裡取1e5+3

對乙個數取模後,如何處理衝突?這裡就用到了鍊錶,煉表裡只有乙個頭節點,而這裡有很多頭節點,h

每個結點,對應著一組鍊錶,衝突數就存在裡面。

插入時,按鏈從頭節點的插入模板即可。

#include#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;const

int maxn=1e5+3,maxn2=31*maxn;

inth[maxn],ne[maxn],e[maxn],idx;

void insert(int

x)bool query(int

x)int

main()

else}}

AcWing 840 模擬雜湊表

題目描述 維護乙個集合,支援如下幾種操作 i x 插入乙個數x q x 詢問數x是否在集合 現過 現在要進行n次操作,對於每個詢問操作輸出對應的結果。輸入格式 第一行包含整數n,表示運算元量。接下來n行,每行包含乙個操作指令,操作指令為 i x q x 中的一種。輸出格式 對於每個詢問指令 q x ...

acwing 840 模擬散鍊錶 雜湊

輸入樣例 5 i 1i 2 i 3q 2 q 5輸出樣例yes 拉鍊法 開乙個大於n的陣列,模n求出的 k 就是每個數雜湊之後的位置,如果多個值在同乙個位置,就拉出一條單鏈表,每個陣列的開頭就是單鏈表的頭節點 對於刪除操作,我們可以不需要真正刪除,直接新開乙個bool陣列標記一下即可 include...

AcWing 模擬雜湊表 雜湊表 模擬

時 空限制 1s 64mb 維護乙個集合,支援如下幾種操作 i x 插入乙個數x q x 詢問數x是否在集合 現過 現在要進行n次操作,對於每個詢問操作輸出對應的結果。第一行包含整數n,表示運算元量。接下來n行,每行包含乙個操作指令,操作指令為 i x q x 中的一種。對於每個詢問指令 q x 輸...