BZOJ3809 Gty的二逼妹子序列 分塊

2021-09-26 11:02:51 字數 620 閱讀 8858

很容易想到,莫隊,然後用樹狀陣列維護,發現複雜度是o(n

nlog

n)

o(n \sqrt logn)

o(nn​l

ogn)

的。我們考慮如何平衡複雜度

用分塊代替樹狀陣列,這樣詢問複雜度o(n

)o(\sqrt)

o(n​

),修改複雜度o(1

)o(1)

o(1)

,總複雜度o(q

n)

o(q\sqrt)

o(qn​)

#include#include#includeconst int maxn=1e5+5,maxq=1e6+5,b=sqrt(1e6);

int n,m,k,a[maxn],ans[maxq],hsh[maxn],f[maxn],block[maxn];

struct xcw

void add(int x)

void del(int x)

int ask(int l,int r)

for(int i=1;i<=m;i++) printf("%d\n",ans[i]);

return 0;

}

BZOJ3809 Gty的二逼妹子序列

空間這麼小 然後就莫隊了 不知道三維kd tree能不能過 本來想打bit,結果發現過不了的樣子,因為修改比較多,詢問比較少,所以可以考慮平衡複雜度,用分塊維護 單次修改o 1 詢問o n code include include include include include include in...

bzoj3809 Gty的二逼妹子序列

先說一種很顯然的做法,大體框架肯定是莫隊,然後每來一種顏色就處理下,如果是新出現的就在bit當中把這個位置 1,如果這種顏色消失了就在bit中對應位置 1。這樣的時間複雜度是o nn log 2n 我交了一次發現超時了。那怎麼辦?觀察下,我們查詢和修改的複雜度都是o logn 但是顯然查詢的次數要遠...

bzoj 3809 Gty的二逼妹子序列

autumn和bakser又在研究gty的妹子序列了!但他們遇到了乙個難題。對於一段妹子們,他們想讓你幫忙求出這之內美麗度 a,b 的妹子的美麗度的種類數。為了方便,我們規定妹子們的美麗度全都在 1,n 中。給定乙個長度為n 1 n 100000 的正整數序列s 1 si n 對於m 1 m 100...