【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2888 【题目大意】 不断加边,问每个连通块的重心到其它点的距离和的和 【题解】 启发式合并LCT,通过维护等差数列的首项和公差 来实现保存子树内所有节点到这个节点的距离之和。 【代码】 ...
分类:
其他好文 时间:
2017-07-20 15:24:43
阅读次数:
161
单调队列 : code by zhx 手写队列+手写 栈: stack: 队列: STL:中的priority_queue 并查集,启发式合并 把节点较少的合并到节点节点较多的上 是一种优化 杂七杂八的线段树 code by zhx ...
分类:
其他好文 时间:
2017-07-18 22:11:07
阅读次数:
154
思路: 用主席树维护并查集森林,每次连接时新增结点。 似乎并不需要启发式合并,我随随便便写了一个就跑到了3674第一页?3673是这题的弱化版,本来写个暴力就能过,现在借用加强版的代码(去掉异或),直接吊打暴力程序。 ...
分类:
其他好文 时间:
2017-07-14 19:32:43
阅读次数:
144
Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。 你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i>v_j。 请计算可选的最多的点数,注意这些 ...
分类:
其他好文 时间:
2017-07-05 20:09:29
阅读次数:
142
题目: https://loj.ac/problem/516 分析: 每次将一个颜色更改为另一个颜色相当于将两个集合合并 然后对于答案的更新,一个点插入到一个集合中,那么可能更新答案的就是其前驱节点或者后继节点 所以直接用set启发式合并就ok了 时间复杂度O(nlog^2n+m) ...
分类:
其他好文 时间:
2017-07-05 13:26:36
阅读次数:
144
传送门:https://loj.ac/problem/516 【题解】 那段代码求的是相同的数中间隔最小的值。 离散后用set维护每个值出现次数,每次操作相当于合并两个set,这步可以启发式合并。 加元素的时候直接找前驱和后继即可。 学了新姿势:set中insert有返回的,可以访问.first来调 ...
分类:
其他好文 时间:
2017-07-03 12:04:26
阅读次数:
238
这题之前写过线段树合并,今天复习Splay的时候想起这题,打算写一次Splay+启发式合并。 好爽!!! 写了长长的代码(其实也不长),只凭着下午的一点记忆(没背板子。。。),调了好久好久,过了样例,submit,1A! 哇真的舒服 调试输出懒得删了QwQ #include<iostream> #i ...
分类:
其他好文 时间:
2017-06-30 01:11:26
阅读次数:
300
【BZOJ3510】首都 Description 在X星球上有N个国家,每个国家占据着X星球的一座城市。由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的。 X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失,而B国的国土也将归A国管辖。A国国王为了加强统治,会在A国和 ...
分类:
其他好文 时间:
2017-06-21 19:58:04
阅读次数:
206
题目链接:Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 第一次写\(dsu\ on\ tree\),来记录一下 \(dsu\ on\ tree\)主要维护子树信息,往往可以省掉一个数据结构的启发式合并。大体思路如下: 轻重链路径 ...
分类:
其他好文 时间:
2017-06-16 10:19:43
阅读次数:
150
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4025 【题解】 考虑对时间分治,用可撤回的启发式合并并查集来维护连通性。 二分图的条件是没有奇环,用并查集判即可。 对于时间区间[l,r],如果边在这期间都存在,那么就加入并查集,对于剩下的边 ...
分类:
其他好文 时间:
2017-06-02 23:59:58
阅读次数:
414