Normal Data Structure Tricks


放一些比较常见的数据结构处理技巧,会一点一点补上来。

P3313 [SDOI2014]旅行

给你一个 \(10^5\) 长的序列,每个点有颜色 \(c\) 和权值 \(v\)

有修改和查询操作,修改可以为修改一个点的颜色或权值,查询一段区间内颜色为 \(c\) 的点的点权最大值以及权值和。

$\texttt{solution}$

发现直接对于每个颜色开一个动态开点线段树就做完了。

每次操作最多只会建立 \(\log n\) 个节点,所以复杂度也是对滴。

原题只不过讲上面的操作放在了树上,我直接莽一个树剖上去就做完了。

嘴巴完跑路。