AcWing 模擬雜湊表 雜湊表 模擬

2021-09-26 09:43:45 字數 956 閱讀 1903

時/空限制:1s / 64mb

維護乙個集合,支援如下幾種操作:

「i x」,插入乙個數x;

「q x」,詢問數x是否在集合**現過;

現在要進行n次操作,對於每個詢問操作輸出對應的結果。

第一行包含整數n,表示運算元量。

接下來n行,每行包含乙個操作指令,操作指令為」i x」,」q x」中的一種。

對於每個詢問指令「q x」,輸出乙個詢問結果,如果x在集合**現過,則輸出「yes」,否則輸出「no」。

每個結果佔一行。

1≤n≤10^5

−10^9≤x≤10^9

5

i 1i 2

i 3q 2

q 5

yes

no

題意:維護乙個集合,插入乙個數和判斷乙個數是否存在。

思路:構造乙個雜湊表,利用拉鍊法直接進行模擬,stl裡面也有相應的雜湊表。

accepted code:

/* 

* @author: lzyws739307453

* @language: c++

*/#include using namespace std;

const int maxn = 1e5 + 5;

struct list

list(int da, int ne) : data(da), next(ne) {}

}list_[maxn];

int head[maxn], cnt = 0;

void insert(int x)

bool query(int x)

int main()

}return 0;

}

模擬雜湊表 雜湊

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

AcWing 840 模擬雜湊表

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

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

解析 關於mod 一般要取質數 要離2的整次冪盡可能遠,降低衝突概率,這裡取1e5 3 對乙個數取模後,如何處理衝突?這裡就用到了鍊錶,煉表裡只有乙個頭節點,而這裡有很多頭節點,h 每個結點,對應著一組鍊錶,衝突數就存在裡面。插入時,按鏈從頭節點的插入模板即可。include include inc...