在PPT的Page8可以看到
“排列在拓扑序的限制下,原排列和逆排列的字典序最大/小的等价性”
这里证明一下
假设现在有一个DAG,容易知道这个DAG的任意一个拓扑序都是排列,不妨假设要最大化拓扑序。把这个排列记作 P P P也就是要 max P \max P maxP,记 P − 1 P^{-1} P−1表示 P P P的逆排列,逆排列定义为 ∀ 1 ≤ i ≤ n , P − 1 [ P [ i ] ] = i \forall 1\le i\le n,P^{-1}[P[i]]=i ∀1≤i≤n,P−1[P[i]]=i。
不妨用归纳法证明,显然 ∣ V ∣ = 1 |V|=1 ∣V∣=1时成立,然后假设对于 ∣ V ∣ < n |V|<n ∣V∣<n的DAG都是成立的,可以证明当 ∣ V ∣ = n |V|=n ∣V∣=n时也成立:
显然 1 1 1在 P P P中的出现位置越后越好。设 1 1 1在DAG上的控制的点集是 S 1 S_1 S1,不被 1 1 1控制的点集是 S 2 S_2 S2,那么有 S 2 = C V S 1 S_2=C_{V}S_1 S2=CVS1。根据贪心思想 S 2 S_2 S2会先被加入拓扑序,因为 1 1 1越晚越好,故这部分的最大化排列和最大化逆排列是等价的; S 2 S_2 S2都进入拓扑序后只能把 1 1 1加入,然后后面的部分也是二者等价的。可以发现此时的 P − 1 [ 1 ] P^{-1}[1] P−1[1]是取到了它可以取的最大值,而剩下的部分也是最大的;当然 1 1 1在 P P P中的位置可以往前,但是这样一定会比现在的 P P P小,同时 P − 1 P^{-1} P−1也会更小,所以不会出现这种情况。综上,得证。