LGV 引理 学习笔记

LGV 引理

狭义和广义是本人自己乱定义的,切勿当真。

LGV 引理(狭义)

对于一张有向无环图(有环不行)。

设我们有起点点集 \(A\),和终点点集 \(B\),且集合大小都为 \(t\)

设一个矩阵 \(M\)\(M_{i,j}\) 代表 \(A_i\to B_j\) 的路径方案数,则有:

\[\LARGE \det(M)=\sum\limits_S(-1)^{nxd(S)}C(S) \]

其中 \(S\) 为一个排列,第 \(i\) 个数为 \(x\) 代表从 \(A_i\) 走到 \(B_x\)\(nxd(S)\) 就是求 \(S\) 的逆序对数量,\(C(S)\)\(S\) 的方案数(即使得所有 \(A_i\to B_x\)路径不交的路径方案数)。

一般来说,是题目要求右边,我们用左边来求。当然,因为这个逆序对的条件极其苛刻,所以也伸展不开。

LGV 引理(广义)

方便理解,我们设立一个结构体 \(T_i\),含有 \(x,P\),代表从 \(a_i\to b_x\),经过的路径为 \(P\)(可以当做一个数组 \(PATH\) 什么的)。

\(S\)\(T_i\) 的集合。

然后设 \(w(P)\)\(P\) 路径上的边权之积。\(e(a,b)\)\(a\to b\) 每一条路径上的 \(w(p)\) 之和。

构造矩阵 \(M\) 使得第 \(i\) 行第 \(j\) 列为 \(e(A_i,B_j)\)

则有:

\[\LARGE \det M=\sum\limits_S(-1)^{nxd(T_i.x)}\prod\limits_{i=1}^nw(T_i.P) \]

边权是可以任意定义的。统计路径方案数时,就令所有边权都为 1,于是就变成了狭义。特殊的题可以将边权设为所需要的,甚至边权是生成函数也可以!

例题

P6657 - 【模板】LGV 引理

https://www.luogu.com.cn/problem/P6657

\(a_i,b_i\) 都是从上向下排序。则如果它们不相交,只有一种情况,就是 \(\forall i,a_i\to b_i\)。此时 \(S\) 的逆序对为 0。所以狭义 LGV 引理化简为:

\[\det(M)=\sum\limits_S 1\times C(S) \]

发现右边就是答案,于是计算左边,左边也是答案,于是于是了。

P7736 - [NOI2021] 路径交点

https://www.luogu.com.cn/problem/P7736

咕咕咕咕咕咕

posted @ 2021-12-11 09:44  BlankAo  阅读(109)  评论(0编辑  收藏  举报