启发式合并
文章平均质量分 74
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ1483 [HNOI2009]梦幻布丁
因为是把所有颜色x都变成颜色y,所以把颜色y变成颜色x也是可以的 那么每次呢,就是要把两种颜色合并 记录一下每个颜色当前存在哪个链表里,启发式合并链表就好了 #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2016-09-28 08:29:39 · 777 阅读 · 0 评论 -
BZOJ3510 首都
到所有点距离和最小的点就是重心 因为只有link操作,我们可以考虑启发式合并,这样最多会有n log n次“插入一个叶子节点”操作 一棵树插入一个叶子节点之后,重心要么不变,要么向叶子的方向移动一条边,移动的条件是叶子所在的子树大小*2大于这棵树的大小(或者相等取编号小的) 用LCT维护子树大小即可 #include #include #include #include #include原创 2016-09-28 10:41:17 · 1102 阅读 · 0 评论 -
BZOJ4059 [Cerc2012]Non-boring sequences
很厉害的题啊…… 不过也是道卡常题…… 先离散化一下,处理出每个元素前一个和后一个相等的元素 建议用两遍sort离散化,否则容易TLE 然后我们考虑[L,R]的所有子串是否合法,我们考虑从两边向中间找第一个前一个和后一个都不在这个区间里的元素,然后就可以把区间分成两部分递归 即,先判断L是否只出现一次,再判断R,再判断L+1,再判断R-1…… 这样的话复杂度是nlogn的 原理的话,原创 2017-01-17 10:24:28 · 450 阅读 · 0 评论