题目大意:
给出n个点m条边的无向图,权值在边上,再进行q次操作。
操作有两种:
1.询问连通两点的途经最大值的最小值。
2.删除连接u、v的边。
解题报告:
这题写了一个下午,调、拍了一个下午+一个晚上,有够虐心的……最后发现忘了考虑Splay翻转标记反反得正!悲催啊!
┏ (゜ω゜)=☞ 下面是题解:
<1>看到不可逆转拆边,果断想到逆向思维,即按时间倒叙回溯模拟操作。
<2>容易知道满足条件的路径必然在MST上,所以维护一棵MST即可。反向思维的删边成了加边,所以利用环切维护MST。
<3>要动态维护树上的路径信息,果断用LinkCutTree!
<3>Splay的翻转标记。碰到节点就下传标记,用异或做。
(最后还是想吐槽——调试150行的代码坑死人啊!