LGV 引理
LGV 引理
给出一个 DAG 及 \(m\) 对点 \((A_i,B_i)\),求出 \(P=(P_1,P_2,\dots,P_m)\) 的数量,其中 \(P_i\) 表示一条 \(A_i\to B_i\) 的路径,且 \(P_i\) 两两不交。
令 \(e(a,b)\) 表示 \(a\to b\) 的路径数量,构造 \(m\times m\) 的矩阵 \(M\),有 \(M_{i,j}=e(A_i,B_j)\)。LGV 的引理指出:
证明:将行列式展开,得到:
其中 \(P\) 表示路径的集合。将 \(P\) 中不与任何路径有交的划分到 \(S_1\),和任意一条路径有交的划分到 \(S_2\),那么可以得到:
引理的内容其实相当于:
因此需要证明的就是:
考虑构造双射。令 \(S_2\) 中编号最小的两条有交的路径对为 \((P_1=s_1\to t_1,P_2=s_2\to t_2)\),在最后一次相交的后面交换两条路径,即 \((P_1'=s_1\to t_2),(P_2'=s_2\to t_1)\),显然这样不会改变路径相交的情况,且在排列 \(p\) 中交换了两个数,根据经典结论,这样会让逆序对的数量改变。又因为这样是双射,两两对应且后面的权值也不改变,因此 \(LHS=0=RHS\)。
拓展:每个点有点权,每种方案的价值为点权和。只需要将 \(e\) 的定义改为所有方案的价值之和,\(1\) 改成价值即可。
坐标轴上有 \(k\) 个机器人,接下来 \(n\) 秒内,每个机器人每秒要么向右移一格,要么不变。求没有任何两个机器人相遇的概率。
\(k\le 10,n\le 10^3,x_i\le 10^3\)。答案对大质数取模。
算方案数,最后除以 \(2^{nk}\) 即可。
建立分层图,第 \(i\) 层表示当前时间为 \(i\),那么如果决定了最终机器人所在的坐标,就直接用 LGV 引理即可计算。观察行列式(就是要求的值):
既然终点不确定,那就考虑用动态规划直接计算所有终点序列的行列式的和。令 \(f_{i,S,\tau}\) 表示考虑了前 \(i\) 个点,已经选择了终点的机器人集合为 \(S\),逆序对奇偶性为 \(\tau\) 的乘积的和。转移只需要考虑 \(i\) 是否选择,如果选择的话选择哪一个。
时间复杂度 \(O(2^kn)\)。

浙公网安备 33010602011771号