码迷,mamicode.com
首页 > 其他好文 > 详细

LGV定理

时间:2020-07-15 23:48:22      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:com   表示   并且   答案   部分   line   直接   地方   lin   

LGV定理用于解决路径不相交问题。

定理

\(n\) 个起点 \(1, 2, 3, ..., n\),它们 分别对应 要到 \(n\) 个终点 \(A, B, C, ..., X\),并且要求路径点不相交。求方案数。

\(e_{i, W}\) 表示从起点 \(i\) 到终点 \(W\) 的方案数。则最终答案为:

\[\begin{vmatrix} e_{1, A} & e_{1,B} & ... & e_{1, X}\ e_{2, A} & e_{2, B} & ... & e_{2, X}\ ... & ... & ... & ...\ e_{n, A} & e_{n, B} & ... & e_{n, X}\end{vmatrix}\]

(这俩竖线是行列式的意思)

其中 \(n = 2\) 的情况挺好理解的,因为它表示出来是:

\[\begin{vmatrix} e_{1, A} & e_{1, B}\ e_{2, A} & e_{2, B}\end{vmatrix}\]

即:

\[e_{1, A} * e_{2, B} - e_{1, B} * e_{2, A} \]

前面部分是不考虑“不相交”的合法方案数。但是可能会有相交的情况。我们发现如果在第一个相交点的地方偷偷的交换一下路径的来源,那么每一种不合法路径唯一对应一种 1 到 \(B\),2 到 \(A\) 的路径;同时每一种 1 到 \(B\),2 到 \(A\) 的路径唯一对应一种不合法路径。因此可以用 \(e_{1, B} * e_{2, A}\) 来计算不合法路径。然后容斥即可。

这种方法类似求卡特兰数通项公式的方法。

实际上 \(n > 2\) 的情况也可以用容斥思想感性理解。

例题:CF348D Turtles

\(n = 2\) 时的板子题。直接DP求解出 \(e\),然后手算行列式即可。

LGV定理

标签:com   表示   并且   答案   部分   line   直接   地方   lin   

原文地址:https://www.cnblogs.com/JiaZP/p/13307642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!