jzoj6152

Posted grice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jzoj6152相关的知识,希望对你有一定的参考价值。

题意

给定(n)长度序列(a_i),对于一个平方串([i,i+len-1][i+len,i+2len-1])(forall xin[i,i+len-1]),存在边((i,i+len,w_{len}))
求最小生成森林

做法

插点求出平方串,相当于([l,r])([l+len,r+len])(w_{len})
这个可以转化成([l,l+2^i-1])([l+len,l+len+2^i-1])连边,([r-2^i+1,r])([r+len-2^i-1,r+len])连边
可以维护(logn)个并查集第(i)个维护([x,x+2^i-1])([y,y+2^i-1])是否有连边

当在做([x,x+2^i-1])([y,y+2^i-1])连边的时候,可以查询第(i)个并查集(x,y)是否有连边

  • 有则退出
  • 没有
    (x,y)在该并查集连起来
    (i=0)则统计贡献
    否则递归([x,x+2^{i-1}-1])([y,y+2^{i-1}-1])([x+2^{i-1},x+2^{i}-1])([y+2^{i-1},y+2^i-1])连边

(O(nlognalpha(n)))







以上是关于jzoj6152的主要内容,如果未能解决你的问题,请参考以下文章

JZOJ 5941. 乘

[JZOJ4687]奇袭

JZOJ3798临洮巨人

JZOJ3799青蛙神

[jzoj]1229.Hanoi

jzoj4020