「考试」省选34

T1
用一个堆从后向前扫。
依次用正数抵消负数。
最后相当于把(b_i)作为(a)的首位。
这样的话直接用一个前缀和+二分来统计答案就可以了。

T2
我们把颜色从大到小加入。
然后判断当前是否在同一个连通块。
如果是再判断是否大于(K),小于等于就直接更新答案。
否则查看是否有办法缩减为一个集合,并且个数小于(K).

T3
动态维护这些关键点。
(dfs)序相邻的点统计一下距离。
然后直径可以直接用线段树分治来搞。
这样答案就是边权值和-直径。

原文地址:https://www.cnblogs.com/Lrefrain/p/12395920.html