$\quad $ 圆方树练手好题。
$\quad $ 大概意思就是给你一个仙人掌,其中每个点都有点权。有 \(m\) 次询问,其中有两种操作:回答两点间所有可能路径(不重复经过一个点)上的点权最小值、将某个点的点权改为某值。
$\quad $ 对于路径上点权最小值,可以先转化为圆方树,然后树链剖分解决,用方点维护与其相连点的点权最小值。
$\quad $ 对于更改,树剖更改即可。但是需要注意到,更改圆点时,也要同时更新与其相连的方点的权值,如果是菊花图的话,就有 \(TLE\) 的风险。
$\quad $ 所以我们不再让方点维护与其相连的圆点最小值,而是让其维护子节点(树链剖分中 dfs1 所决定出来的父子)中点权最小值。这样每个圆点权值的改变只会影响到其父亲方点的权值。
$\quad $ 那么怎么维护方点点权呢?
$\quad $ 我们可以给每个方点建一棵平衡树(当然是用 \(multiset\) 了
标签:更改,点权,方点,最小值,权值,quad,Tourists From: https://www.cnblogs.com/0shadow0/p/18314909