[51nod1558][CF468D]树中的配对

题目大意一颗n个节点的树,边有边权。 求一个字典序最小的排列p 使得∑dis(i,pi)\sum dis(i,pi)最小思考∑dis(i,pi)=∑depi+deppi−2∗deplca(i,pi)=2∗∑depi−2∗∑deplca(i,pi)\sum dis(i,pi)=\sum dep_i+dep_pi-2*dep_{lca(i,pi)}=2*\sum dep_i-2*\sum dep_{...
阅读(144) 评论(0)

[bzoj3510]首都

题目大意一开始有n个结点,没有边。 有三种操作:将两个结点间连一条边,并且保证两个结点属不同联通块。询问一个联通块中所有点到其距离和最小的点。询问所有联通块中所有点到其距离和最小的点的异或和。启发式合并显然是一片森林,要求维护重心。 可以用启发式合并的思路,把小的合到大的里面,然后调整原本大的树里的重心,显然这个重心只会朝着小树方向调整,而且最多移动小树大小步。 然后需要用LCT来维护森林,并...
阅读(473) 评论(0)

树中点对距离

题目大意在一颗N个结点的树上,统计有多少点对最短距离<=m。(点对不存在顺序性)N<=10000点分治我们选取一个点x作根,那么任何点对都分成两种类型 1、经过x 2、不经过x 我们对经过x的进行统计,对于不经过x的继续在x的子树中分治下去。这就是点分治。 我们处理出每个点的深度,排序后就很容易统计经过x的个数。 不过有可能出现一对点对的lca是y而不是x,然后他们被统计进去了,要在往下分...
阅读(342) 评论(0)

阴阳

题目大意给定一颗有n个结点的树,每条边的权值为1或-1。问有多少点对(i,j)(注意点对不存在顺序性),满足i到j的最短路径上能找到一个点k,使得i到k的最短路径权值和为0,k到j的最短路径权值和为0。 n<=100000。点分治我们进行点分治。 对于当前的根x,我们统计有多少对经过了x的满足题目要求。 我们可以处理出d[i]表示i到x的权值和,b[i]=1表示i到x路径上可以找到异与i与x的...
阅读(180) 评论(0)

神界古树

题目大意给定大小为n的树,求所有点的所有子树的最大大小的最小值。 n<=10^5。模拟题意大水题一道。 他的实质应该是找重心(所有子树大小不到一半且最大子树最小),所以只要转化为有根树并处理出size[i]表示以i为根的子树的大小模拟题意即可。...
阅读(187) 评论(0)
    个人资料
    • 访问:163744次
    • 积分:8221
    • 等级:
    • 排名:第2254名
    • 原创:640篇
    • 转载:5篇
    • 译文:0篇
    • 评论:159条
    公告
    幻梦终醒,本无不散之宴,却不悔付此华年。
    最新评论
    文章分类