CF1383C

· · 题解

WCCDAG 加粗是因为认为这样看上去比较美观。

感觉现有的两篇题解对最优性的证明都迷迷糊糊看不懂,这里来补充一个证明。

感谢 @AThousandMoon 的帮助。

在此之前,请您先阅读其他两篇题解。

我们称原来的图为 G,按照时间顺序添加的边生成的图为 G',且只考虑 G 是一个弱连通分量(以下简称 WCCWeakly Connected Component),图中有 n 个点,图中最大 DAG 大小为 m

显然最终生成的 G' 也是 WCC。(不然会有 G 中直接有连边的 u \to v,在 G'u 无法到达 v

我们动态维护 G 中的所有 WCC,以及点集 |S|,初始的时候有 n 个大小为 1WCC|S| 为所有点的集合。

我们考虑按照时间顺序进行一次操作,添加了边 (u,v)G'

如果 G 中有环,那么 G' 中存在时间递增的从某个点走回这个点的路径,可以发现这样的构造方式,可以使 |S| 中没有这样的点。

这样最终这个 G 生成一个大的 DAG,假设我们总共进行了 k 次操作。
第二种情况发生了 n-1 次,所以第一种情况发生了 k-n+1 次,最多删去了 k-n+1 个点,那么 |\mathrm{DAG}|\ge 2n-k-1 ,所以 k\ge 2n-|\mathrm{DAG}|-1

于是我们就知道了,G 对应的 G' 边数 \ge2n-m-1

构造方案见其他题解就行了。