【题解】Query on a tree III LCT SPOJ2798

第一个操作显然是不要考虑的…… 考虑第二个操作怎么办 (实际上是超级 easy 的) 每个节点维护一个值 sum,表示 $Splay$ 中它子树的和,每个点的权值为 1(黑)0(白)。 对于这个操作,我们可以先 $split(1,x)$ ,现在 x 是这个 $Splay$ 的 阅读更多…

【题解】楼房重建 线段树 bzoj2957

每个楼房,还有单点修改操作。简单的想到用线段树来维护信息。 显然线段树只需要维护 y/x 即可,对于每一个楼房,能看见的条件就是前面楼房的 y/x 的严格小于当前楼房的 y/x。 线段树的区间修改不再赘述。 那么怎么维护可以看到的楼房数呢? 考虑在线段树的每一个节点上用一个变量 sum 来表示从这个 阅读更多…