【转】Lindström–Gessel–Viennot lemma 应用两则

原博客:http://www.cnblogs.com/jszkc/p/7309468.html

对于一张无边权的DAG图,给定n个起点和对应的n个终点,这n条不相交路径的方案数为

det() (该矩阵的行列式)

其中e(a,b)为图上a到b的方案数

codeforces 348D

[给定一张n*m带障碍的图,求从左上角到右下角不相交两条路径的方案]

[a1=(1,2) a2=(2,1) b1=(n-1,m) b2=(n,m-1) 应用该定理即可]

HDU 5852

[给一张n*n的图,第一行m个点对应第n行的m个点,求路径不相交的方案数]

[计算对应的行列式,注意高斯消元不要T]

wiki:https://en.wikipedia.org/wiki/Lindstr%C3%B6m%E2%80%93Gessel%E2%80%93Viennot_lemma

简单来说,dag中n个起点 n个终点 矩阵a[i][j]表示第i个起点到第j个终点路径方案数,整个矩阵的行列式就是这n条线路不相交的方案数

见过一万次的格子图从左下到右上QAQ

原文地址:https://www.cnblogs.com/haze/p/9339101.html

时间: 2024-08-08 08:11:08

【转】Lindström–Gessel–Viennot lemma 应用两则的相关文章

Lindström–Gessel–Viennot lemma定理 行列式板子

https://blog.csdn.net/qq_37025443/article/details/86537261 博客 下面是wiki上的讲解,建议耐心地看一遍...虽然看了可能还是不懂 https://en.wikipedia.org/wiki/Lindström–Gessel–Viennot_lemma Lindström–Gessel–Viennot lemma定理是 起点集合A=(a1,a2,a3..an),终点集合B=(b1.b2,b3,..bn) 假定P是从一条从一个点到另一个点

Lindström–Gessel–Viennot lemma

(摘自知乎) Lindstr?m–Gessel–Viennot lemma(Lindstr?m-Gessel-Viennot lemma这里有详细介绍跟证明) 在一个有向无环图里,想要计算从n个起点 到n个终点 的n条互不相交的路径的数量(具体说是其生成函数),只要符合一定条件,就有个非常漂亮的形式表达出来.具体来说是下面一个矩阵M的行列式 其中 是从第i个起点到第j个终点的生成函数. 这里最神奇的一点是为什么结果是一个行列式.这个矩阵从线性空间的角度看完全没有意义,而实际证明过程中也完全是以组

Nowcoder Monotonic Matrix ( Lindström–Gessel–Viennot lemma 定理 )

题目链接 题意 : 在一个 n * m 的矩阵中放置 {0, 1, 2} 这三个数字.要求 每个元素 A(i, j) <= A(i+1, j) && A(i, j) <= A(i, j+1) .问你合法的构造方案有多少种 分析 : 分析一下限制条件不难得出.其实就是在矩阵中设置两条分界线 使得分界线总左上角到右下角分别是 0.1.2 例如如下的矩阵就是合法的 0 0 1 2 0 1 2 2 1 2 2 2 那么问题就转化成了在矩阵中找出两条可重叠的路径 把矩阵分成三个部分 有一

A Path Plan(2018黑龙江省赛)

又get 新知识 Lindström–Gessel–Viennot引理 改引理主要是解决n条严格不相交的路径的问题 其中ai代表路径的起点bi代表路径的终点e(ai,bj)代表ai到bj的方案数,答案是这个行列式的值 对于这道题而言,知道这个引理,这就是水题啊 code: #include <bits/stdc++.h> using namespace std; const int MOD = 1e9 + 7; typedef long long ll; const int N = 2e5 +

Codeforces 348 D - Turtles

D - Turtles 思路: LGV 定理 (Lindstr?m–Gessel–Viennot lemma) 从{\(a_1\),\(a_2\),...,\(a_n\)} 到 {\(b_1\),\(b_2\),...,\(b_n\)}的不相交路径数等于行列式 \[ {\left[ \begin{array}{ccc} c(a_1, b_1) & c(a_1, b_2) & ... & c(a_1, b_n) \c(a_2, b_1) & c(a_2, b_2) &

组合数学漫游奇境记:Schur 多项式,Hook 长度公式,Macmahon 平面分拆公式

Young 表上的组合学是代数组合学中最奇妙的部分,与表示论,统计力学,概率论有着丰富而深刻的联系.这篇文章将从几个有趣的问题开始,带领大家走进这个美丽的领域.所需要的预备知识很少,学过线性代数即可,但是要真正领略其中风光,数学上的成熟是必不可少的. 需要事先剧透的是,本文要证明的几个定理绝非泛泛,它们都是代数组合学中的著名结论. 先来看几个问题: 有 $m$ 位总统候选人参加大选,他们每个人分别有 $\lambda_1,\ldots,\lambda_m$ 位支持者(假定选民只投票给他支持的候选

平面分拆的 Macmahon 公式

首先看一个计数问题:一个边长为 $a\times b\times c$ 的平行六边形,每个内角都是 120 度.用边长为 1 的菱形去覆盖,有多少种不同的方法? 比如下图就是一种: 我们从上方俯视这张图(虽然这是一个平面图形,但是我们想象在空间中鸟瞰它),发现它很像是在墙角堆箱子:在一个边长为 $a\times b\times c$ 的长方体空间中堆放若干形状为单位正方体的 "箱子".不仅如此,箱子堆放的规则是有限制的:紧贴墙角处的那一摞箱子最高,从墙角向外,箱子的高度是递减的.这个规

Matrix-Tree 定理

首先推荐 GJS学长 的这篇博文: http://www.cnblogs.com/meowww/p/6485422.html . Matrix-Tree 定理 度数矩阵 $D$ . $D_{i, i} = i 的度数$ . 邻接矩阵 $G$ . $G_{i, j}$ 表示 $i$ 到 $j$ 的连边数量. 基尔霍夫矩阵 $K$ , $K = D - G$ . 边矩阵 $B[m \times n]$ , 每行代表一条边, 对应位置的值为 $1$ . $B ^ T B = K$ . $B_i ^ T

BNUOJ33566 Cycling Roads(并查集+判断两线段相交)

Cycling Roads Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on Ural. Original ID: 1966 64-bit integer IO format: %lld      Java class name: (Any) Prev Submit Status Statistics Discuss Next Font Size:  +   - Type:   None Graph T