「考试」省选34

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

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

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

posted @ 2020-03-02 15:37  Lrefrain  阅读(101)  评论(0编辑  收藏  举报