首页 > 其他 > 详细

点分治学习笔记

时间:2019-01-04 22:18:20      阅读:166      评论:0      收藏:0      [点我收藏+]

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。

点分治学习笔记

原文:https://www.cnblogs.com/cx233666/p/10222775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!