摘要: 看到统计统计路径按照套路我们应该想到点分治。 在点分树上每个节点i建一棵线段树,支持查询区间最小值,倘若编号为j的点在点分树上是i的子树里的节点,那么i的这棵线段树下标j存的就是i到j在原树上的距离。 询问的时候考虑把路径拼接就行了。 时间复杂度 \(O(nlog^2n)\) #include<io 阅读全文
posted @ 2020-07-24 11:15 wljss 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 对于树上统计路径的问题我们通常要用到点分治来搞一搞。 首先我们点分治。 摄当前的分治中心是 x,那么把 x 周围的点按照颜色排个序。 统计的时候我们建两颗线段树,设当前处理到的 x 周围的点是 y,x 和 y 之间的点的颜色是 z ,那么第一棵线段树是 z 之前的颜色(不包括z),第二棵线段树是 z 阅读全文
posted @ 2020-07-24 11:04 wljss 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 退役选手只能来补数据结构的题解。 我们设当前情况下伤害 \(d\) 会触发 \(cnt[d]\) 次,那么 \(\displaystyle ans=\displaystyle \sum_{i=L}^{R}cnt[i]\) 如果我们能求出来维护好的 \(cnt\) 数组的话,用树状数组做前缀和就能询问 阅读全文
posted @ 2020-07-24 10:11 wljss 阅读(232) 评论(0) 推荐(0) 编辑