摘要: "可持久化普通平衡树" 题意 如题。 解法 大家都知道,用权值线段树可以过普通平衡树那道题,那么对于可持久化普通平衡树,我们是否也可以用主席树来搞一搞呢。答案是肯定的。只需要动态开点就行了。其他的跟普通平衡树那道题一模一样。 代码 这里需要注意一点,当 l 和 r 都是负数的时候, /2 就会有问题 阅读全文
posted @ 2018-08-24 22:20 Mr_asd 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "可持久化并查集" 题意 如题。 解法 我们考虑用主席树来维护每一个版本中,x的father,因为我们要做到可持久化, ~~所以我们不能压缩路径(可能吧)~~ ,我们就需要用到启发式合并。每次将深度较浅的合并到深度较大的集合中,并且,如果两个集合深度相同了的话,将其中的一个深度+1。剩下的就是主席树 阅读全文
posted @ 2018-08-24 22:11 Mr_asd 阅读(194) 评论(0) 推荐(0) 编辑
摘要: "线段树合并(【POI2011】ROT Tree Rotations)" 题意 现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有nn个叶子节点,满足这些权值为1…n1…n的一个排列)。可以任意交换每个非叶子节点的左右孩子。 要求进行一系列交换,使得最终所有叶子节点的权值按 阅读全文
posted @ 2018-08-24 21:58 Mr_asd 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "可持久化数组" 题意 主席树板子题。 解法 没什么可说的。 代码 cpp include include include include include include include define INF 2139062143 define MAX 0x7ffffffffffffff defin 阅读全文
posted @ 2018-08-24 21:57 Mr_asd 阅读(123) 评论(0) 推荐(0) 编辑