LGV引理
\(LGV\)引理可以用于在DAG上求解不相交路径方案数问题
定义:
\(\omega(P)\)表示\(P\)这条路径上的边权之积,解决路径计数问题时通常设为1,据说也可以是生成函数
\(e(u,v)\)表示\(u\)到\(v\)的每一条路径上的\(\omega\)值之和,即\(e(u,v)=\sum\omega(P)[P:u \to v]\)
起点集合记作\(A\),终点集合记作\(B\)
\(\sigma(S)\)表示一个排列
一组\(A\to B\)的不相交路径\(S\) : \(S_i\)表示\(A_i\)到\(B_{\sigma(S)_i}\)的一条路径,对于\(i\ne j\)存在\(S_i\)和\(S_j\)路径上没有交点
\(N(\sigma)\)表示排列\(\sigma\)的逆序对个数
内容:
\[M =
\begin{bmatrix}
e(A_1,B_1) & e(A_1,B_2) & \dots & e(A_1,B_m)\\
e(A_2,B_1) & e(A_2,B_2) & \dots & e(A_2,B_m)\\
\vdots & \vdots & \ddots & \vdots\\
e(A_n,B_1) & e(A_n,B_2) & \dots & e(A_n,B_m)
\end{bmatrix}
\]
答案就是矩阵的行列式
例题:
- CF348D Turtles
- P6657 LGV引理
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步