洛谷P3396 雜湊衝突 分塊

2022-09-01 09:45:14 字數 902 閱讀 1418

給出乙個數列,其中第i

i個數在mod

pmod

p下會被裝進第imo

dpim

odp個雜湊池。維護一下兩種操作:

根號演算法好題。

應該不算分塊吧。。。

對於這道題,我們分開兩段維護:

模數≤t≤t

。此時我們預處理出cnt

[p][

x]cn

t[p]

[x]表示在模p

p下池x

x的元素之和。每次詢問o(1

)o(1

),預處理o(t

)o(t

)。模數》

t>

t。此時我們只要從x

x開始,暴力求答案,每次x+=

px+=

p。這樣的話要找ntt

n​個答案,時間複雜度o(n

t)o(

tn​)

。為了均攤時間複雜度,我們令t=n

tt=t

n​。顯然t=n

t=n​

時時間複雜度較為平均。

總時間複雜度o(n

log⁡n)

o(nlogn)

#include

#include

#include

using

namespace std;

const

int n=

150010

,m=410

;int n,m,t,x,y,a[n]

,cnt[m]

[m];

char ch;

intmain()

while

(m--)}

else

}return0;

}

洛谷 P3396 雜湊衝突 分塊

題目鏈結 給你個數列,編號為1 n 1 n 給出兩種操作 我們先從最為暴力的思路出發 我們可以把要求的東西簡寫成su m x y sum x y 代表的含義是模 x x 餘y role presentation style position relative y y的編號對應的數字之和,下面我們需要...

洛谷P3396 雜湊衝突 分塊

時空限制 1000ms 128mb 題目描述 眾所周知,模數的hash會產生衝突。例如,如果模的數p 7,那麼4和11便衝突了。b君對hash衝突很感興趣。他會給出乙個正整數序列value。自然,b君會把這些資料存進hash池。第value k 會被存進 k p 這個池。這樣就能造成很多衝突。b君會...

洛谷P3396 雜湊衝突

分塊還真是應用廣泛啊.題意 求 解 以n0.5為界。當p小於n0.5的時候,直接用p 大小的陣列儲存答案。預處理n1.5,修改n0.5。當p大於n0.5的時候,直接按照定義計算,複雜度n0.5。所以總複雜度n1.5,實在是巧妙不堪啊.什麼sb詞彙 1 include 2 include 3 incl...