所谓LGV引理,就是解决LGV问题的引理。
(逃)
前言
上联:古有学完SAM学PAM;
下联:今有学完Polya学LGV;
横批:小清新。
常被用于有向图不交路径计数问题。(废话)
这个东西是真的不太难。(至少这条引理本身,会不会相关有些题很难我不知道)
国赛考它是有考它的道理的,这个东西之前没有见过是真的有可能推出来的。(我是指那些星星一样的神仙们)
相比之下 Polya 恐怕就不太可能现推了。
解析
有一张带权的 DAG。
定义一条路径的权值为所有边权的乘积 w(Pi)=∏e∈Piw(e)w(P_i)=\prod_{e\in P_i}w(e)w(Pi)=∏e∈Piw(e),一组路径的权值为所有路径权值加和 w(P)=∑Pi∈Pw(Pi)w(P)=\sum_{P_i\in P}w(P_i)w(P)=∑Pi∈Pw(Pi),两个点之间的权值为 f(i,j)=∑Pi:i→jw(Pi)f(i,j)=\sum_{P_i: i\to j}w(P_i)f(i,j)=∑Pi:i→jw(Pi)
给出 nnn 个起点 s1...ns_{1...n}s1...n 和 nnn 个终点 t1...nt_{1...n}t1...n,定义两两配对形成的路径为一组 A→BA\to BA→B 的路径 S=(A→B)S=(A\to B)S=(A→B)。这样一组路径中每个起点 iii 都对应一个终点 σ(i)\sigma(i)σ(i),显然 σ\sigmaσ 是一个 1−n1-n1−n 的排列。
记 Sc(A→B)S^c(A\to B)Sc(A→B) 为 A→BA\to BA→B 的相交路径集合,Su(A→B)S^u(A\to B)Su(A→B) 为 A→BA\to BA→B 的不交路径集合,显然有 Su(A→B)+Sc(A→B)=S(A→B)S^u(A\to B)+S^c(A\to B)=S(A\to B)Su(A→B)+Sc(A→B)=S(A→B)。
构造矩阵 Ai,j=f(si,tj)A_{i,j}=f(s_i,t_j)Ai,j=f(si,tj),那么就有:
det(A)=∑P∈Su(A→B)sign(σ)∏Pi∈Pw(Pi)det(A)=\sum_{P\in S^u(A\to B)}\text{sign}(\sigma)\prod_{P_i\in P}w(P_i)det(A)=P∈Su(A→B)∑sign(σ)Pi∈P∏w(Pi)
规定这么一大堆,引理内容就这一句话。
证明
证明极其小清新!
首先,由行列式的定义,有:
det(A)=∑P∈S(A→B)sign(σ)∏Pi∈Pw(Pi)det(A)=\sum_{P\in S(A\to B)}\text{sign}(\sigma)\prod_{P_i\in P}w(P_i)det(A)=P∈S(A→B)∑sign(σ)Pi∈P∏w(Pi)
接下来只需要证明:
∑P∈Sc(A→B)sign(σ)∏Pi∈Pw(Pi)=0\sum_{P\in S^c(A\to B)}\text{sign}(\sigma)\prod_{P_i\in P}w(P_i)=0P∈Sc(A→B)∑sign(σ)Pi∈P∏w(Pi)=0
我们只需要为每一条路径找到一条双射,使它们权值相同,符号相反即可。
也非常好构造,对于一组相交路径,我们只需要找到最小的一对相交路径 (i,j)(i,j)(i,j),把它们后面的部分互换即可。
得到的新路径按照这种方式也会映射会原路径,所以这是一个双射。
互换之后权值乘积不变,对应 σ\sigmaσ 相当于交换了 σi,σj\sigma_i,\sigma_jσi,σj,因此逆序对奇偶性改变,符号相反。
证毕。