UOJ #217 -【UNR #1】奇怪的线段树(路径覆盖+简单优化建图)
作者:互联网
orz 卷王 aaabcd /bx
随便开了道 aaabcd 卷过的题然后完全想偏了,想成奇怪的 DP 了(果然 aaabcd 全方位六边形我啊)
首先,如果一个点是白的但它子树内有黑点,那么显然无解,其他情况可以证明有解。
可以注意到一个性质,就是如果所有满足【该点为黑点,但是子树内没有其他黑点】的点都已经被覆盖了,那么所有黑点肯定都已经被覆盖了。考虑一次线段树操作能够覆盖哪些满足该要求的点,发现必然是一段右儿子 + 一段左儿子。并且对于一个节点而言,它下一个点可能是什么与之前的点没有关系,因此考虑对于每个点,我们向其所有可能的后继连一条边,这样一段右儿子 + 一段左儿子就可以用一条路径来刻画。于是问题转化为给你一张图,所有白点都不能被覆盖,所有满足【该点为黑点,但是子树内没有其他黑点】都必须被覆盖,问最少几条路径。这是经典可以用上下界网络流解决的问题,这里不再赘述。
朴素建边的平方的,不过一个很显然的性质是我们连边会形成若干个团状的结构,直接建虚点可以优化到线性。
标签:217,UNR,子树内,覆盖,黑点,所有,aaabcd,建图,一段 来源: https://www.cnblogs.com/ET2006/p/UOJ-217.html