简介

Lindström–Gessel–Viennot lemma,即 LGV 引理,可以用来处理有向无环图上不相交路径计数等问题。

前置知识:图论相关概念 中的基础部分、矩阵、高斯消元求行列式。

LGV 引理仅适用于 有向无环图。

定义

表示 这条路径上所有边的边权之积。(路径计数时,可以将边权都设为 )(事实上,边权可以为生成函数)

表示 到 的 每一条 路径 的 之和,即 。

起点集合 ,是有向无环图点集的一个子集,大小为 。

终点集合 ,也是有向无环图点集的一个子集,大小也为 。

一组 的不相交路径 : 是一条从 到 的路径( 是一个排列),对于任何 , 和 没有公共顶点。

表示排列 的逆序对个数。

引理

其中 表示满足上文要求的 的每一组不相交路径 。

证明

由行列式定义可得

观察到 ,实际上是所有从 到 排列为 的路径组 的 之和。

此处 为任意路径组。

设 为不相交路径组, 为相交路径组,

设 中存在一个相交路径组 ,则必然存在和它相对的一个相交路径组 , 的其他路径与 相同。可得 。

因此我们有 。

则 。

证毕 1。

例题

题意:有一个 的格点棋盘,其中某些格子可走,某些格子不可走。有一只海龟从 只能走到 和 的位置,求海龟从 到 的不相交路径数对 取模之后的结果。。

比较直接的 LGV 引理的应用。考虑所有合法路径,发现从 出发一定要经过 ,而到达终点一定要经过 ,则 可立即选定。应用 LGV 引理可得答案为:

其中 为图上 的路径数,带有障碍格点的路径计数问题可以直接做一个 的 dp,则 易求。最终复杂度 。

题意:有一个 的棋盘,一个棋子从 只能走到 或 ,有 个棋子,一开始第 个棋子放在 ,最终要到 ,路径要两两不相交,求方案数对 取模。,,保证 ,。

观察到如果路径不相交就一定是 到 ,因此 LGV 引理中一定有 ,不需要考虑符号问题。边权设为 ,直接套用引理即可。

从 到 的路径条数相当于从 步中选 步向下走,所以 。

行列式可以使用高斯消元求。

复杂度为 ,其中 是求逆元复杂度。

参考资料

Footnotes

  1. 证明来源于 知乎 - LGV 引理证明 ↩

此文件夹下有0条笔记。