數字盒子

問題描述:
你有一個盒子,你可以往裏面放數,也可以從裏面取出數。

初始時,盒子是空的,你會依次做 Q 個操作,操作分爲兩類:

插入操作:詢問盒子中是否存在數 x,如果不存在則把數 x 丟到盒子裏。
刪除操作:詢問盒子中是否存在數 x,如果存在則取出 x。

對於每個操作,你需要輸出是否成功插入或刪除。
輸入

第一行一個正整數 Q,表示操作個數。

接下來 Q 行依次描述每個操作。每行 2 個用空格隔開的非負整數 op,x 描述一個操作:op 表示操作類型,op=1 則表示這是一個插入操作,op=2 則表示這是一個刪除操作;x 的意義與操作類型有關,具體見題目描述。

數據範圍

對於 100% 的數據,保證 x<10^18,Q≤5*10^5。

思路
對於≤5*10^5的數據,可以通過vector直接模擬這個過程實現要求,但對於其他數據直接暴力不行,使用哈希表實現,即將這些特別大的數據“變小”。
或者直接用set的insert,erase,find函數實現本題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章