20230705练习总结

发布时间 2023-07-09 17:39:50作者: 牛肉爱吃dks

ARC107F Sum of Abs

先强制将所有点删去,然后考虑加点,将一个点拆成正点和负点,点权分别为 \(A_i+B_i\)\(A_i-B_i\),建图将问题转化为了求新建出图的最大全独立集。

这里因为点权可能是负的,对于负点权的点直接加进最小权点覆盖里就行了。

详解

AGC029E Wandering TKHS

考虑哪些 \(v\)\(u\) 产生贡献。设 \(w=lca(u, v)\)

\(u\) 开始,必须要选到 \(w\) 才可能选 \(v\)。所以可以将问题转化到 \(w\) 上。

能选到 \(v\) 当且仅当 \(w\)\(1\) 的路径(不含 \(w\))上的最大值大于 \(v\)\(w\) 路径(不含 \(w\))上的最大值。

只需要遍历时记录当前到根的链的最大值及其位置 \(p\) 就可以了。特殊处理 \(p\) 位置能不能选,再记录一个次大值,次大值在 \(p\) 上面就可以选,否则不行。

CF1054G New Road Network

一种码量非常小但是难以证明正确性的做法。建一个完全图,两点边权是他们需要满足性质的交集的大小。

跑一颗最大生成树后判断是否满足条件。正确性不明,但可以过。