LGV 引理
如果满足每一组不相交路径的排列都是 1,2,3,... 那么就没有逆序对,可以省略系数 \((-1)^k\),一般在网格图中可以满足
-
此时只讨论图上计数问题
-
设 \(e(u,v)\) 表示 \((u,v)\) 的路径的个数
-
题目特征一般是:
- 有起点集合,终点集合
- 起点集合和终点集合大小相等
- 求起点集合到终点集合,一一对应,每条路径没有交点的路径个数
- 在网格图上(奇偶交点之差....)
-
真正的定理见 OI-Wiki ,我懒得打了
-
对于这个 -1 的系数,一般在网格上只要满足不相交路径,逆序对个数为 0 ,所以一般在网格图上行列式的值就是答案
-
当然也有变式,比如下面的 T3
例题
-
因为满足 \(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)\) 是个组合式
-
\((1,1)\) 一定会走到 \((1,2)\) 或者 \((2,1)\) ,\((n,n)\) 一定会从 \((n-1,n)\) 和 \((n,n-1)\) 走到
-
显然不相交的情况下,排列一定没有逆序对,所以可以直接套 LGV 引理
-
这里的 \(e(u,v)\) 可以用 \(dp\) 来做
-
这个题可以说其实是在卡科技,如果知道 LGV 引理就很简单,如果不知道那可能就没什么思路了
-
这个题和 LGV 引理的特征太相似了,事实上 LGV 引理的特征也确实太特殊了
-
起点点集和终点点集大小一样,无向图路径无交点计数
-
这个图不在网格内,所以我们需要考虑 \((-1)^{\sigma(P)}\) 的系数影响
-
然而题目中求的是 偶数 - 奇数 ,大胆猜测偶数代表 \((-1)^0\) ,奇数代表 \((-1)^1\) ,直接套 LGV 引理
-
因为幂次是相加的,奇偶数又是很特殊的数字,所以可以考虑每对逆序对的贡献
-
其实就是要证明对于两个点如果最终对应的节点组成逆序对,那么路径交点一定为奇数,反之一定为偶数
-
这个可以用数学归纳法来证明,此处就不证明了
-
所以只要我们能得到最后的行列式,直接算就可以了
-
考虑 \(e(u,v)\) 怎么算,有两个方法
- BFS ,整个图是个 DAG
- 每一层用矩阵表示用矩阵相乘直接得到最后的矩阵
-
复杂度是一样的,我用的方法 2
-
唯一要注意的是取模不要直接取模,自己写一个取模函数,实测会快很多,否则会一直 65 分
总结
-
LGV 引理 + 高斯消元
-
这个题感觉就是卡科技