Q&A
Q:博主是哪里来的辣鸡,怎么才学点分治?
A:太弱了一直没完全搞懂,确实是弱鸡。
点分治
这个知识点很简单啊,关键怎么运用。
摆概念谁不会摆?
放找重心的代码
void getrt(int u,int pa=0)
{
siz[u]=1,w[u]=0;
for(int i=head[u],v;i;i=nxt[i])
if((v=to[i])!=pa&&!o[v])
getrt(v,u),siz[u]+=siz[v],w[u]=max(siz[v],w[u]);
w[u]=max(w[u],SZ-w[u]);
if(w[u]<w[rt])rt=u;
}
记得容斥,还有容斥的方法。
没了。
动态点分治
去年暑假的时候就学了点分治,一直懒得去搞动态的,但都快退役了还不学就凉了。
概念也很简单,solve的时候建出点分树,然后操作。
怎么操作?咕咕咕具体看题吧QAQ。