1 条题解

  • 0
    @ 2025-8-24 22:22:50

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 王鲲鹏
    亦余心之所善兮,虽九死其犹未悔。

    搬运于2025-08-24 22:22:50,当前版本为作者最后更新于2020-09-25 10:47:12,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    LGV 引理(Lindstrom-Gessel-Viennot lemma)

    本文主要分为对 引理的阐述与证明 和 这道题的解法。然鹅OIer 不需要证明

    LGV 引理 内容

    • GG 是一个有限的带权有向无环图。每个顶点的度是有限的,不存在有向环(所以路径数量是有限的)。
    • 起点 A={a1,,an}A=\{a_1,\cdots,a_n\},终点 B={b1,,bn}B=\{b_1,\cdots,b_n\}
    • 每条边 ee 有权 wew_e,并假定值属于某 交换环
    • 对于一个有向路径 PP,定义 ω(P)\omega(P) 为路径上所有边权的积。
    • 对任意顶点 aabb,定义 e(a,b)=P:abω(P)e(a,b)=\sum\limits_{P:a \to b}{\omega(P)}

    设矩阵

    $$M= \begin{pmatrix} e(a_1,b_1) & e(a_1,b_2) & \cdots & e(a_1,b_n) \\ e(a_2,b_1) & e(a_2,b_2) & \cdots & e(a_2,b_n) \\ \vdots & \vdots & \ddots & \vdots \\ e(a_n,b_1) & e(a_n,b_2) & \cdots & e(a_n,b_n) \\ \end{pmatrix} $$

    AABB 的不相交路径 P=(P1,P2,,Pn)P=(P_1,P_2,\cdots,P_n)PiP_i 表示从 aia_ibσ(i)b_{\sigma(i)} 的一条路径,其中 σ\sigma 是一个排列(置换),并且满足对任意 iji\not=jPiP_iPjP_j 没有公共点。记 σ(P)\sigma(P) 表示 PP 对应的排列。

    引理说明,MM 的行列式是所有从 AABB 的不相交路径 P=(P1,,Pn)P=(P_1,\cdots,P_n) 的带符号和。其中符号指 σ(P)\sigma(P) 的逆序数的奇偶性: (1)逆序数(-1)^{\text{逆序数}},记为 sign(σ(P))\mathrm{sign}(\sigma(P))

    $$\mathrm{det}(M)=\sum_{P:A\to B}{\mathrm{sign}(\sigma(P))\prod_{i=1}^{n}\omega(P_i)} $$

    证明

    对一组路径 PP,若对任意 iji\not=jPiP_iPjP_j 无公共点,则称 PP 是一组不相交路径,否则为一组相交路径。为了简便,在下面相交路径记作 PcP^c,不相交路径记作 PuP^u。不做特殊说明时,PP 为一组平凡的路径。当带下标时,指一条路径。定义 ω(P)=ω(P1)ω(P2)ω(Pn)\omega(P)=\omega(P_1)\omega(P_2)\cdots\omega(P_n)

    根据定义,

    $$\begin{aligned} \mathrm{det}(M) &=\sum_{\sigma \in S_n}\mathrm{sign}(\sigma)\prod_{i=1}^{n}e(a_i,b_{\sigma(i)}) \\ &=\sum_{\sigma \in S_n}\mathrm{sign}(\sigma)\prod_{i=1}^{n}\sum_{P_i:a_i \to b_{\sigma(i)}}\omega(P_i) \end{aligned} $$

    $\prod_{i=1}^{n}\sum_{P_i:a_i \to b_{\sigma(i)}}\omega(P_i)$ 展开后对应所有排列为 σ\sigma 的路径组 PP

    $$\begin{aligned} \mathrm{det}(M) &=\sum_{\sigma \in S_n}\mathrm{sign}(\sigma)\sum_{P}\omega(P),P:(a_1,\cdots,a_n)\to(b_{\sigma(1)},\cdots,b_{\sigma(n)}) \\ &= \sum_{P:A \to B}\mathrm{sign}(\sigma(P))\omega(P) \end{aligned} $$

    现在等式的形式已与定理相像,但是 PP 的含义不同。

    $$\mathrm{det}(M)= \sum_{P^u:A \to B}\mathrm{sign}(\sigma(P^u))\omega(P^u)+\sum_{P^c:A \to B}\mathrm{sign}(\sigma(P^c))\omega(P^c) $$

    故若引理成立,必有 $\sum_{P^c:A \to B}\mathrm{sign}(\sigma(P^c))\omega(P^c)=0$ 。

    CC 为所有 PcP^c 构成的集合。如果我们能构造一个双射关系 f:CCf:C \to C,满足对任意 PcCP^c\in Cω(f(Pc))=ω(Pc)\omega(f(P^c))=\omega(P^c),$\mathrm{sign}(\sigma(f(P^c)))=-\mathrm{sign}(\sigma(P^c))$,根据重排列定理,

    $$\sum_{P^c}\mathrm{sign}(\sigma(P^c))\omega(P^c) =\sum_{P^c}\mathrm{sign}(\sigma(f(P^c)))\omega(f(P^c)) $$$$\begin{aligned} \sum_{P^c}\mathrm{sign}(\sigma(P^c))\omega(P^c) &= \frac{1}{2}\sum_{P^c}\mathrm{sign}(\sigma(P^c))\omega(P^c)+\frac{1}{2}\sum_{P^c}\mathrm{sign}(\sigma(f(P^c)))\omega(f(P^c)) \\ &= \frac{1}{2}\sum_{P^c}\mathrm{sign}(\sigma(P^c))\omega(P^c)+\frac{1}{2}\sum_{P^c}-\mathrm{sign}(\sigma(P^c))\omega(P^c) \\ &= 0 \end{aligned} $$

    确实可以构造:

    考虑 P=(P1,P2,,Pn)P=(P_1,P_2,\cdots,P_n)PCP \in C,中找到最小的二元组 (i,j)(i,j) 满足 PiP_iPjP_j 有交,将相交之后的路径交换一下,交换后得到 PP' 。显然有 PCP' \in CPPP' \not= P

    这里就不写式子了 可以直观理解一下 就是因为懒,因为边还是那些边,边权属于交换环,所以 ω(P)\omega(P) 不变。另一个影响是交换了两条路径的终止节点,即交换了排列中的两个元素,根据我们学前班就学过的线性代数,逆序对数的奇偶改变,所以 $\mathrm{sign}(\sigma(P'))=-\mathrm{sign}(\sigma(P))$。

    最后我们还可以注意到,对于 PP',最小的二元组还应该是 (i,j)(i,j),那么 f(P)=Pf(P')=P。籍此可证 ff 是双射。

    证毕。

    完结撒花lalala

    差点忘了这道题还没有说...

    LuoguP6657 模板

    好像比定理削了好多东西...

    因为这是在方格图上,因为坐标是单调的,当 σ(1,2,,n)\sigma \not=(1,2,\cdots,n) 时,显然不存在不相交路径。

    右式=P:(Pi:aibi)1\text{右式}=\sum_{P:(P_i:a_i\to b_i)}1

    即为所求。

    那么构造矩阵,e(ai,bj)=(bjai+n1n1)e(a_i,b_j)=\binom{b_j-a_i+n-1}{n-1}。高斯消元求行列式即可。

    参考资料

    1. 维基百科 挺详细的就是没中文...
    2. OI Wiki.

    真·完结撒花~~~


    update 2021-05-27 感谢 @oisdoaiu 的指正

    • 1

    信息

    ID
    5705
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    0
    已通过
    0
    上传者