摘要: 题意: 给定$x$,\(d\),求x子树里深度不超过dep[x]+d的所有点中有多少种颜色。 强制在线。 一般的,询问区间颜色数时,可以求出每个数的后继,然后就变成了区间内大于某数的数,进而使用树状数组或主席树。 然而,询问树上的颜色数,还有一种更好的方法: 考虑某种颜色的贡献: 把这种颜色的所有点 阅读全文
posted @ 2020-08-04 22:19 lnzwz 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 坑 阅读全文
posted @ 2020-08-04 21:47 lnzwz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 涉及到RMQ,RMQ之和,最大子矩形等,子矩形数量等问题,可以考虑笛卡尔树。 笛卡尔树就是每次找到区间中的最值,按照这个位置将区间分为2份递归建树。 这样,最值就是lca了。 RMQ之和就是lca之和,可以枚举lca算贡献。 最大子矩形等就是每个点的权值乘以它对应的区间长度的最大值。 子矩形数量就是 阅读全文
posted @ 2020-08-04 21:42 lnzwz 阅读(227) 评论(0) 推荐(1) 编辑
摘要: 这些方法可以用于最短路,网络流,连通性等问题。 对于区间到区间/点的连边,直接上线段树就行了,这个很简单 对于点到区间/子矩阵的连边(最短路问题),还可以用线段树/KD树维护dis数组,进行区间和某数取min的操作。 P5471 [NOI2019]弹跳 对于序列的某个前/后缀的连边,可以直接把这个序 阅读全文
posted @ 2020-08-04 21:13 lnzwz 阅读(158) 评论(0) 推荐(1) 编辑