STL unordered map模數衝突

2021-10-25 01:28:41 字數 850 閱讀 7915

codeforces 977f. consecutive subsequence

unordered_map用hashtable實現,操作均攤常數時間複雜度,但是可能存在模數衝突,會被卡到on導致tle,最好手寫乙個hash對映,防止被卡。當然,時間允許的話可以用map的穩定logn時間複雜度。

ac**:

struct node

;inline

intgethash

(int x)

//手寫對映

unordered_map<

int, node> mp;

// num size idx

int ans[

200010

], ct;

int a[

200010];

intmain()

int pos, maxx =-1

,pos2;

for(unordered_map<

int, node>

::iterator it = mp.

begin()

; it != mp.

end(

); it++)if

(it-

>second.siz > maxx)

pos =a[pos2]

-maxx+1;

printf

("%d\n"

,maxx)

;for

(int i =

1; i<=n; i++)if

(a[i]

==pos)

return0;

}

任意模數ntt 任意模數NTT

任意模數 ntt 眾所周知,為了滿足單位根的性質,ntt 需要質數模數,而且需要能寫成 a2 1 且 2 k ge n 比較常用的有 998244353,1004535809,469762049 這三個原根都是 3 如果要任意模數怎麼辦?n 次多項式在模 m 下乘積,最終係數一定不會大於 nm 2 ...

學習筆記 月衝年衝

公積金衝還貸分為兩種 年衝和月衝。不管是月衝還是年衝,首先沖掉的都是公積金部分。一 年衝,衝的是本金 如果組合貸款中公積金貸了100w,每次年衝的時候都是先衝公積金貸款的本金,等到哪天把公積金本金衝沒了,繼續年衝的話,才開始衝商貸的本金,然後重新按照剩餘的本金和還款時間開始核算月還款。年衝,一年只有...

ADC模數轉換

adc模數轉換 1.1 什麼是adc 1 adc analog digital converter,ad轉換,模數轉換 也就是模擬轉數字 2 ad型別 積分型,逐次比較型,並行比較 序列比較型,調製型,電容陣列逐次比較型,壓頻變換型。2 cpu本身是數字的,而外部世界變數 如電壓 溫度 高度 壓力 ...