Balancing Network
又一个神仙构造题。 对于第一个小问,相对是简单的。 首先 $O(nm)$ 是唐的,你枚举结尾然后暴力跑。 一个 native 的想法是你考虑找一棵树然后换根,然而你发现你并找不出来一棵这样的树。 然后你考虑奇怪的方法,我们发现这个是可达性,然后试图使用 bitset 然后发现做完了。 你直接每次按顺序用 bitset 模拟即可。 对于第二个小问,有点困难。 一个 native 的想法是你考虑钦定两个终点,然后画在图上需要你做一个割出来把点割成两边,但实际上这很困难。 另一个 native 的想法是你直接考虑钦定一个线从头到尾一点不动,其他的方向尽量远离这条线,这实际上大部分情况下是可以的,但完全图会出问题。 然后我们参考一下题解。 首先 $n=2$ 爆了。 你发现你还是从后往前,不过是类似于把一股线编织起来,然后呢你记录这个每个线最终到哪里,以及每个终点汇聚了多少线。 然后你就很神奇的,你直接瞎搞,直到你发现如果你再把这根线会进去(因为你是从后向前,所以他合并的是一个根在右边的树,最左边的线头都只有一根)会直接导致答案合法,然后你就临时抱佛脚把这个方向转一下。 结果你突然发现这样是对的,因为这个不可能两个线头都是 $n-1$。 然后就很神奇的做完了这个题。 这么看来其实这个不合法的条件是相当松的,不过因为这个题目本身的原因,这个解空间的形状奇特,导致找到一个普适的方法变得困难。