LGV 引理

(其实是贺的:https://www.luogu.com.cn/paste/whl2joo4

LGV 引理

LGV 引理,即 Lindström–Gessel–Viennot lemma .

一个带权 DAG G 中有起点集 A={a1,a2,,an},终点集 B={b1,b2,,bn} .

不相交路径定义为:一组 uv 的不相交路径 P=(P1,P2,,Pn),满足 Pi 是一条 aibσ(P)i 的路径,其中 σ(P)P 对应的排列 .
且对于任意 ijPi,Pj 无公共点(即不相交)

ω(P) 为路径 P 上所有边权的积 .

对顶点 u,v,定义

e(u,v)=P:abω(P)

τ(p) 表示排列 p 的逆序对个数 .


令矩阵

M=[e(a1,b1)e(a1,b2)e(a1,bn)e(a2,b1)e(a2,b2)e(a2,bn)e(an,b1)e(an,b2)e(an,bn)]

则有

det(M)=P:AB(1)τ(P)i=1nω(Pi)

证明:

展开行列式的定义,得 LGV 引理等价于

p(1)τ(p)i=1ne(ai,bp(i))=P:AB(1)τ(P)i=1nω(Pi)

其中 p 是一个 1n 的排列 .

妈呀左右两边长得这么像!

观察组合意义!我们可以发现:

  • LHS 其实就是选 n 条起点和终点分别互不相同的路径,然后把他们的带符号和加起来 .
  • RHS 几乎一样,只不过 p 变成了 P:AB,也就是要求路径不相交 .

故我们考虑构造双射 .

如果两个人的路径相交了,我们可以将相交后的部分取反,就相当于这两人分别走到了对方的终点去 . 这样是不是就不交了!!

upd. 好像有问题 .


AJH 大佬说边权只要是交换环就行,也就是说可以是 GF .

太强了 orz

不相交路径计数

LGV 引理的直接应用 .

有一个图 G平面图 且是 DAG .

从每个 aibi,在满足路径不交的前提下,所有方案中路径边权乘积之和 .

是不是就是板子啊 .

你用一种方法算出 e,然后是不是构造出 M 高斯消元求行列式就完了 .


为什么要是平面图?


一般的 LGV 题符合要求的匹配只有一组(e.g. 网格图),因此按照匹配的顺序列矩阵求出的就是不交路径数量 .

然而如果不是平面图,直接求 det(M) 其实并不一定是不交路径数量 .

具体可以看 NOI2021 路径交点 .

例题

Luogu6657. 【模板】LGV 引理

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


一个 n×n,每步只能往右下走 .

m 个棋子,初始在 (ai,1),要到 (bi,n) .

求不交路径方案数,对 998244353 取模 .

不相交路径计数 弱化版 .

显然对于任何一个路径,ω(P)=1,这样我们才能计数嘛 .

因为是网格图,所以拿出我们老生常谈的网格图两点路径计数:

e(u,v)=(vu+n1n1)

(因为从 (x1,y1)(x2,y2) 的方案数是 (x2x1+y2y1x2x1)

然后预处理阶乘及其逆元算 binom,然后高斯消元求行列式就完了 .

时间复杂度 O(n+m3) .

CF348D Turtle

link: https://codeforces.com/contest/348/problem/D


网格图去掉一些点,两个点从 (1,1) 走到 (n,m),求不交路径数取模 109+7 .

大力 LGV 引理 .

把两个相同起始点拆开,起点拆成 (1,2)(2,1),终点拆成 (n1,m)(n,m1) .

然后 LGV 引理可得一个二阶行列式,对角线法则乘开即可 .

然后变成带限制路径计数,做四遍 DP 即可 .

时间复杂度 O(nm) .

Monotonic Matrix

link: https://www.nowcoder.com/acm/contest/139/A
求满足以下条件 n×m 矩阵的数量:

  • Ai,j{0,1,2} .
  • Ai,jAi,j+1Ai,jAi+1,j .

109+7 取模 .

从起点 (0,0) 终点 (n,m) 画一条非降路径,然后 0,1 是沿着网格走的过程 .

从起点 (1,1) 终点 (n1,m+1) 画一条非降路径,然后 1,2 是沿着网格走的过程 .

然后用 LGV 引理算出不交的路径的方案数即可 .

然而这玩意也是二阶行列式,就是几个组合数乘一下减一下 .

时间复杂度在于求组合数 .

习题

Reference

posted @   yspm  阅读(431)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2020-03-12 时间复杂度符号
😅​
点击右上角即可分享
微信分享提示