C++:哈希表——模擬散列表

模擬散列表

維護一個集合,支持如下幾種操作:
1.“I x”,插入一個數x
2.“Q x”,詢問數x是否在集合中出現過
現在要進行N次操作,對于每個詢問操作輸出對應的結果

輸入格式

第一行包含整數N,表示操作數量
接下來N行,每行包含一個操作指令,操作指令為"I x","Q x"中的一種

輸出格式

對于每個詢問指令"Q x",輸出一個詢問結果,如果x在集合中出現過,則輸出"Yes",否則輸出"No"
每個結果占一行

數據范圍

1 ≤ N ≤ 1 0 5 1\le N\le 10^5 1N105
? 1 0 9 ≤ x ≤ 1 0 9 -10^9\le x\le 10^9 ?109x109

輸入樣例

5
I 1
I 2
Q 2
Q 5

輸出樣例

Yes
No

問題分析

哈希表 { 存儲結構 { 開放尋址法 拉鏈法 字符串哈希方式 哈希表\left\{ \begin{aligned} 存儲結構 \left\{ \begin{aligned} 開放尋址法\\ 拉鏈法 \end{aligned} \right. \\ \\ 字符串哈希方式 \end{aligned} \right. 哈希表? ? ??存儲結構{開放尋址法拉鏈法?字符串哈希方式?

AC代碼

#include<iostream>
#include<cstring>
using namespace std;const int N = 1e5 + 3;int h[N], e[N], ne[N], idx;void insert(int x) {// keep the remainder positive int k = (x % N + N) % N;e[idx] = x;ne[idx] = h[k];h[k] = idx++;
}bool find(int x) {int k = (x % N + N) % N;for(int i = h[k]; i != -1; i = ne[i])if(e[i] == x) return true;return false;
}int main() {int n;scanf("%d", &n);memset(h, -1, sizeof(h));while(n--) {char op[2];int x;scanf("%s%d", op, &x);if(op[0] == 'I') insert(x);else {if(find(x)) puts("Yes");else puts("No");}}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38840.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38840.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38840.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】【驅動】雜項設備驅動

【Linux】【驅動】雜項設備驅動 Linux三大設備驅動1. 我們這節課要講的雜項設備驅動是屬于我們這三大設備驅動里面的哪個呢?2.雜項設備除了比字符設備代碼簡單&#xff0c;還有別的區別嗎?3.主設備號和次設備號是什么? 掛載驅動 雜項設備驅動是字符設備驅動的一種&#xff0…

小程序制作教程:從零開始搭建企業小程序

在如今的數字化時代&#xff0c;企業介紹小程序成為了企業展示與推廣的重要工具。通過企業介紹小程序&#xff0c;企業可以向用戶展示自己的品牌形象、產品服務以及企業文化等內容&#xff0c;進而提高用戶對企業的認知度和信任度。本文將介紹如何從零開始搭建一個企業介紹小程…

Linux常用命令詳細大全

目錄 1、查看目錄與文件&#xff1a;ls2、切換目錄&#xff1a;cd3、顯示當前目錄&#xff1a;pwd4、創建空文件&#xff1a;touch5、創建目錄&#xff1a;mkdir6、查看文件內容&#xff1a;cat7、分頁查看文件內容&#xff1a;more8、查看文件尾內容&#xff1a;tail9、拷貝&a…

小程序 vant 項目記錄總結 使用 scss 分享 訂閱消息 wxs 分包 echarts圖表 canvas getCurrentPages頁面棧

小程序 vant vant 下載 npm init -ynpm i vant/weapp -S --production修改 app.json 將 app.json 中的 “style”: “v2” 去除 修改 project.config.json {..."setting": {..."packNpmManually": true,"packNpmRelationList": [{"p…

域名配置HTTPS

一、注冊域名 這個可以在各大平臺注冊&#xff0c;具體看一下就會注冊了&#xff0c;自己挑選一個自己喜歡的域名。 步驟一般也就是先實名&#xff0c;實名成功了才能注冊域名。 二、辦理SSL證書 這里使用的是阿里云的SSL免費證書 1、申請證書 二、填寫申請 三、域名綁定生…

公司電腦三維圖紙加密、機械圖擋加密軟件

機械圖紙加密軟件的問世&#xff0c;讓很多的網絡公司都大受其帶來的工作中的便利。在安裝了機械圖紙加密軟件后&#xff0c;不僅可以很好的管理員工在工作時的上網娛樂&#xff0c;在對整個公司員工的工作效率上也有著明顯的提高&#xff0c;那么對于機械圖紙加密軟件的具體特…

【C#】靜默安裝、SQL SERVER靜默安裝等

可以通過cmd命令行來執行&#xff0c;也可以通過代碼來執行&#xff0c;一般都需要管理員權限運行 代碼 /// <summary>/// 靜默安裝/// </summary>/// <param name"fileName">安裝文件路徑</param>/// <param name"arguments"…

word 應用 打不開 顯示一直是正在啟動中

word打開來顯示一直正在啟動中&#xff0c;其他調用word的應用也打不開&#xff0c;網上查了下以后進程關閉spoolsv.exe,就可以正常打開word了

演進式架構

演進能力是一種元特征和保護其他所有架構特征的架構封裝器IEEE 的軟件架構定義中的41 視圖模型。它關注不同角色的不同視角&#xff0c;將整個系統劃分成了邏輯視圖、開發視圖、進程視圖和物理視圖架構師確定了可審計性、數據、安全性、性能、合法性和伸縮性是該應用的關鍵架構…

機器學習:特征工程之特征預處理

目錄 特征預處理 1、簡述 2、內容 3、歸一化 3.1、魯棒性 3.2、存在的問題 4、標準化 ?所屬專欄&#xff1a;人工智能 文中提到的代碼如有需要可以私信我發給你&#x1f60a; 特征預處理 1、簡述 什么是特征預處理&#xff1a;scikit-learn的解釋&#xff1a; provide…

linux系統服務學習(六)FTP服務學習

文章目錄 FTP、NFS、SAMBA系統服務一、FTP服務概述1、FTP服務介紹2、FTP服務的客戶端工具3、FTP的兩種運行模式&#xff08;了解&#xff09;☆ 主動模式☆ 被動模式 4、搭建FTP服務&#xff08;重要&#xff09;5、FTP的配置文件詳解&#xff08;重要&#xff09; 二、FTP任務…

Python基礎語法入門(第二十天)——文件操作

一、基礎內容 在Python中&#xff0c;路徑可以以不同的表現形式進行表示。以下是一些常用的路徑表現形式&#xff1a; 1. 絕對路徑&#xff1a;它是完整的路徑&#xff0c;從根目錄開始直到要操作的文件或文件夾。在Windows系統中&#xff0c;絕對路徑以盤符開始&#xff0c;…

【學會動態規劃】環形子數組的最大和(20)

目錄 動態規劃怎么學&#xff1f; 1. 題目解析 2. 算法原理 1. 狀態表示 2. 狀態轉移方程 3. 初始化 4. 填表順序 5. 返回值 3. 代碼編寫 寫在最后&#xff1a; 動態規劃怎么學&#xff1f; 學習一個算法沒有捷徑&#xff0c;更何況是學習動態規劃&#xff0c; 跟我…

CSS 兩欄布局和三欄布局的實現

文章目錄 一、兩欄布局的實現1. floatmargin2. flaotBFC3. 定位margin4. flex 布局5. grid布局 二、三欄布局的實現1. float margin2. float BFC3. 定位 margin(或者定位BFC)4. flex布局5. 圣杯布局6. 雙飛翼布局 一、兩欄布局的實現 兩欄布局其實就是左側定寬&#xff0c;…

高層建筑全景vr火災隱患排查模擬培訓軟件助力群眾防范火災傷害

隨著城市化進程的加快&#xff0c;樓宇建筑的數量也在不斷增加。然而&#xff0c;樓宇消防安全問題也日益突出。為了提高樓宇員工和居民的消防安全意識&#xff0c;樓宇VR消防安全教育培訓應運而生。VR安全培訓公司深圳華銳視點制作的樓宇vr消防安全教育培訓&#xff0c;包括消…

谷粒商城第十一天-完善商品分組(主要添上關聯屬性)

目錄 一、總述 二、前端部分 2.1 改良前端獲取分組列表接口及其調用 2.2 添加關聯的一整套邏輯 三、后端部分 四、總結 一、總述 前端部分和之前的商品品牌添加分類差不多。 也是修改一下前端的分頁獲取列表的接口&#xff0c;還有就是加上關聯的那一套邏輯&#xff0c;…

nginx負載均衡與反向代理與正向代理

負載均衡&#xff1a;通過反向代理來實現 正向代理的配置方法。 正向代理&#xff1a; 工作原理&#xff1a;用戶端直接訪問不了&#xff0c;需要通過代理服務器來訪問web服務器&#xff0c;用戶端先訪問代理服務器&#xff0c;再訪問web服務器。web服務器響應給代理服務器&a…

【C語言】調試技巧

目錄 一、什么是bug? 二、調試 1.一般調試的步驟 2.Debug 和 Release 三、調試環境準備 四、調試時要查看的信息 1.查看臨時變量的值 2.查看內存信息 3.查看調用堆棧 4.查看反匯編信息 5.查看寄存器 五、練習 六、常見的coding技巧 七、const的作用 八、編程常見…

Linux - MongoDB 數據庫自動退出服務問題/閃退

問題&#xff1a;MongoDB 自動退出服務問題 原因&#xff1a; 由于 Mongodb 服務&#xff0c;使用過多系統內存&#xff0c;導致系統強制停止 Mongodb 服務。 解決方法&#xff1a; 在 mongodb.conf 配置文件內&#xff0c;添加新配置內容&#xff1a; wiredTigerCacheSi…

POI與EasyExcel--寫Excel

簡單寫入 03和07版的簡單寫入注意事項&#xff1a; 1. 對象不同&#xff1a;03對應HSSFWorkbook&#xff0c;07對應XSSFWorkbook 2. 文件后綴不同&#xff1a;03對應xls&#xff0c;07對應xlsx package com.zrf;import org.apache.poi.hssf.usermodel.HSSFWorkbook; import …