LGV 引理

OIwiki

如果满足每一组不相交路径的排列都是 1,2,3,... 那么就没有逆序对,可以省略系数 \((-1)^k\),一般在网格图中可以满足

  • 此时只讨论图上计数问题

  • \(e(u,v)\) 表示 \((u,v)\) 的路径的个数

  • 题目特征一般是:

    • 有起点集合,终点集合
    • 起点集合和终点集合大小相等
    • 求起点集合到终点集合,一一对应,每条路径没有交点的路径个数
    • 在网格图上(奇偶交点之差....)
  • 真正的定理见 OI-Wiki ,我懒得打了

  • 对于这个 -1 的系数,一般在网格上只要满足不相交路径,逆序对个数为 0 ,所以一般在网格图上行列式的值就是答案

  • 当然也有变式,比如下面的 T3

例题

P6657 【模板】LGV 引理

  • 因为满足 \(a_1\leq a_2\leq \cdots \leq a_m\) , \(b_1\leq b_2\leq \cdots \leq b_m\) ,所以不相交的路径一定是一一对应的,所以每一项的贡献都是 1 ,所以可以直接套 LGV 引理

  • \(e(a,b)\) 是个组合式

CF348D Turtles

  • \((1,1)\) 一定会走到 \((1,2)\) 或者 \((2,1)\)\((n,n)\) 一定会从 \((n-1,n)\)\((n,n-1)\) 走到

  • 显然不相交的情况下,排列一定没有逆序对,所以可以直接套 LGV 引理

  • 这里的 \(e(u,v)\) 可以用 \(dp\) 来做

P7736 [NOI2021] 路径交点

  • 这个题可以说其实是在卡科技,如果知道 LGV 引理就很简单,如果不知道那可能就没什么思路了

  • 这个题和 LGV 引理的特征太相似了,事实上 LGV 引理的特征也确实太特殊了

  • 起点点集和终点点集大小一样,无向图路径无交点计数

  • 这个图不在网格内,所以我们需要考虑 \((-1)^{\sigma(P)}\) 的系数影响

  • 然而题目中求的是 偶数 - 奇数 ,大胆猜测偶数代表 \((-1)^0\) ,奇数代表 \((-1)^1\) ,直接套 LGV 引理

  • 因为幂次是相加的,奇偶数又是很特殊的数字,所以可以考虑每对逆序对的贡献

  • 其实就是要证明对于两个点如果最终对应的节点组成逆序对,那么路径交点一定为奇数,反之一定为偶数

  • 这个可以用数学归纳法来证明,此处就不证明了

  • 所以只要我们能得到最后的行列式,直接算就可以了

  • 考虑 \(e(u,v)\) 怎么算,有两个方法

    1. BFS ,整个图是个 DAG
    2. 每一层用矩阵表示用矩阵相乘直接得到最后的矩阵
  • 复杂度是一样的,我用的方法 2

  • 唯一要注意的是取模不要直接取模,自己写一个取模函数,实测会快很多,否则会一直 65 分

  • 参考代码

总结

  • LGV 引理 + 高斯消元

  • 这个题感觉就是卡科技

posted @ 2022-06-04 11:26  Kzos_017  阅读(90)  评论(0编辑  收藏  举报