启发式合并
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
BZOJ 3123 LCA + 主席树 + 启发式合并
大致题意:有两种操作。 1. 查询节点x到节点y的路径上的第k小。 2. 连接点x和点y。需要离散化不必多说。 对于第一种操作,经典的LCA + 主席树问题。每次以父亲节点为上一版本建树,对于一次询问的答案就是在区间x−lca[x,y]+y−fa[lca[x,y]]x - lca[x, y] + y - fa[lca[x, y]]的答案。 对于第二种操作,每次启发式合并即可。对于新加入的点,原创 2017-09-18 15:17:06 · 463 阅读 · 0 评论 -
BZOJ 2212 线段树启发式合并
简略题意:现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有n个叶子节点,满足这些权值为1..n的一个排列)。可以任意交换每个非叶子节点的左右孩子。要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少。考虑题中的唯一操作,交换两个孩子。 对每个节点考虑两个孩子对答案的贡献:左孩子的贡献 + 右孩子的贡献 + 左孩子比右孩子大产生的贡献。 交换两原创 2017-09-19 17:14:33 · 520 阅读 · 0 评论