
数据结构-可持久化
Rain722
这个作者很懒,什么都没留下…
展开
-
POJ2104K-th Number(主席树)
题意: 求区间第k大的数 主席树模板题: #include #include #include #include using namespace std; const int N = 100005; struct Node { int ls, rs, w; Node(){ls = rs = w = 0;} }segTree[N*20]; int a[N], b[N],原创 2017-03-20 18:42:21 · 359 阅读 · 0 评论 -
Codeforces 600E. Lomsat gelral(树上启发式合并)
题意: n个点的有根树,以1为根,每个点有一种颜色。我们称一种颜色占领了一个子树当且仅当没有其他颜色在这个子树中出现得比它多。求占领每个子树的所有颜色之和。 题解: 树上启发式合并, [Tutorial] Sack (dsu on tree) - Codeforces #include using namespace std; #define N 100005 #defin原创 2017-08-29 18:21:02 · 776 阅读 · 0 评论 -
BZOJTree Rotations(线段树的合并)
题目链接2212:[Poi2011]Tree Rotations 题意: 给定一颗完全二叉树,每个叶子节点有一个权值,你可以任意交换每个点的左右儿子,使得最后整棵树中序遍历的逆序对个数最少 搬运题解系列: 考虑一个节点的左右子树的子树是否交换过对这个节点的逆序对数目没有影响,只有这个节点直接的子树交换才会产生影响 那么我们可以分治的去计算每个节点的贡献,然后向原创 2017-09-03 18:05:27 · 428 阅读 · 0 评论 -
HDU6191Query on A Tree(字典树启发式合并)
题意: 有一棵n个节点的有根树,每个节点都有一个值,m次查询,每次两个数x y表示以x为根的子树中哪个节点权值异或 y得出的结果最大,求最大结果 思路: 离线 和线段树合并一样,在搜索过程中将多个字典树并在一起 每次查询遍历以当前子树的根为根的字典树 #include using namespace std; #define N 100005 templa原创 2017-09-01 17:04:18 · 942 阅读 · 0 评论