拓扑序下求原排列和逆排列的字典序最大/小的等价性

在PPT的Page8可以看到

“排列在拓扑序的限制下,原排列和逆排列的字典序最大/小的等价性”

这里证明一下

假设现在有一个DAG,容易知道这个DAG的任意一个拓扑序都是排列,不妨假设要最大化拓扑序。把这个排列记作 P P P也就是要 max ⁡ P \max P maxP,记 P − 1 P^{-1} P1表示 P P P的逆排列,逆排列定义为 ∀ 1 ≤ i ≤ n , P − 1 [ P [ i ] ] = i \forall 1\le i\le n,P^{-1}[P[i]]=i 1in,P1[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] P1[1]是取到了它可以取的最大值,而剩下的部分也是最大的;当然 1 1 1 P P P中的位置可以往前,但是这样一定会比现在的 P P P小,同时 P − 1 P^{-1} P1也会更小,所以不会出现这种情况。综上,得证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值