不重複數字 unordered map

2021-10-02 18:30:55 字數 692 閱讀 3093

據說這道題加強了資料,卡普通雜湊,多模數雜湊,普通map,set

這時候就要祭出我們的大殺器-unordered map

定義和用法與普通map基本相同,只不過它的查詢是o(1)的(它的實現就是雜湊表),而普通map是o(logn)的,那麼這道題就迎刃而解了

另:它還有個兄弟 unordered set(逃

#include

#include

using

namespace std;

int t,n;

tr1::unordered_map<

long

long

,int

>mp;

intread()

for(

;isdigit

(ch)

;ch=

getchar()

) re=

(re<<3)

+(re<<1)

+ch-

'0';

return re*f;

}int

main()

}printf

("\n");

}return0;

}

不重複數字

operatorname luogup 4305 給定 n nn 個數,要求把其中重複的去掉,只保留第一次出現的數。本題有多組資料。第一行乙個整數 t tt 表示資料組數。對於每組資料 第一行乙個整數 n nn 第二行 n nn 個數,表示給定的數。對於每組資料,輸出一行,為去重後剩下的數,兩個數之...

JLOI2011 不重複數字

原題鏈結 題解題目大意 給出n個數,要求把其中重複的去掉,只保留第一次出現的數。最後按順序輸出 n 50000 然這題是個雜湊的典型題目 hash,我對於它的理解就是乙個桶 乙個數,當然並不是如此,有很多更好的hash函式可以更好的減少衝突,例如非十進位制數等。hash一般用來處理乙個元素是否在乙個...

「不重複數」問題

1 如果乙個數字十進位制表達時,不存在連續兩位相同,則稱之為 不重複數 例如,105 1234 12121都是不重複數,而11 100 1225不是。給定乙個正整數a,返回大於a的最小不重複數。a小於100000.示例 輸入 value 21099 返回 21201 本題的難點不在於判斷是否是不重複...