关于DAG上拓扑序及其逆排列的讨论
关于DAG上拓扑序及其逆排列的讨论
记号
- \(G\):有向无环图, \(r(G)\):\(G\)的反图, \(-G\):\(G\)中点编号取反(\(x \to n-x+1\))
- \(P(G)\):\(G\)上所有拓扑序的集合,\(P^{-1}(G)\):\(P(G)\)的逆排列集合,\(-P(G)\)拓扑序编号取反
- \(r(P)\):排列翻转后的集合
- \(p\):一个排列(置换)
一些性质
\[p^{-1}(p(i)) = i \\
r(p)(i) = p(n-i) \\
-P(G) = P(-G) \\
r(P(G)) = P(r(G)) \\
-\min P(G) = \max -P(G) = \max P(-G)
\]
显然
\[(-p)^{-1} = r(p^{-1})
\]
证明:
\[\begin{aligned}
(-p)(i) &= n - p(i) \\
(-p)^{-1}(n-p(i)) &= i \\
(-p)^{-1}(n-p(i)) &= r((-p)^{-1})(p(i)) \\
r((-p)^{-1}) &= p^{-1} \\
(-p)^{-1} &= r(p^{-1})
\end{aligned} \\
\]
\[-P^{-1}(G) = P^{-1}(r(G))
\]
证明:
\[\begin{aligned}
(-P^{-1}(G))^{-1} &= r(P(G)) \\
&= P(r(G)) \\
-P^{-1}(G) &= P^{-1}(r(G))
\end{aligned}
\]
字典拓扑原理
在DAG上最小\最大拓扑序易求,我们考虑将其逆排列的极值问题转化。
\[(\max P(G))^{-1} = \max P^{-1}(G)
\]
证明:
考虑归纳证明,令\(\max P^{-1}(G) (1) = k\),则节点\(1\)后至少有\(n-k\)个节点,对于\(\max P(G)\)我们一定只有没有其他可以填入节点才填入\(1\),也就是\(\max P(G)(k) = 1\),然后去掉1,在新图上满足归纳假设。
\[\min P^{-1}(G) = -(\max P(r(G)))^{-1}
\]
证明:
\[\begin{aligned}
\min P^{-1}(G) &= -\max -P^{-1}(G) \\
&= -\max P^{-1}(r(G)) \\
&= -(\max P(r(G)))^{-1}
\end{aligned}
\]