图算法

图算法

广度=>无权最短路径

  1. 临接节点最短距离差一
  2. 广度算出来的d是上界
  3. 灰色队列中只有相邻两层的节点
  4. 灰色队列中的节点是递增的
  5. 反证法,v是最近的d不为 δ \delta δ的节点, v . d > δ ( s , v ) = δ ( s , u ) + 1 = u . d + 1 v.d \gt\delta(s,v)=\delta(s,u)+1=u.d+1 v.d>δ(s,v)=δ(s,u)+1=u.d+1,考察当u出队时,v的状态,均矛盾

非灰黑白

有u->v时,v为灰有环,黑白时都有u.f > v.f

逆行分

拓扑反向图,保证拓扑序列后面的子图已经被DFS过了。

入点短

数学归纳法:

最近加入的点已经 v . d = δ ( s , v ) v.d=\delta(s,v) v.d=δ(s,v),设v为第一个不满足的点,研究p(s,v)上分割S和V-S的路径x->y, x . d = δ ( s , x ) x.d=\delta(s,x) x.d=δ(s,x),由收敛性质, y . d = δ ( s , y ) y.d=\delta(s,y) y.d=δ(s,y),可以得出 y . d = δ ( s , y ) ≤ δ ( s , v ) ≤ v . d y.d=\delta(s,y)\le\delta(s,v)\le v.d y.d=δ(s,y)δ(s,v)v.d,但 v . d ≤ y . d v.d \le y.d v.dy.d,所以 v . d = δ ( s , v ) v.d=\delta(s,v) v.d=δ(s,v),和假设矛盾。

所有节点对

中分两

维护每对路径的中间节点子集,中间节点将最短路径分成两段最短路径( d i k + k + d k j d_ik + k + d_kj dik+k+dkj), 如果不是中间节点直接去掉

找前驱

通过最短路径构建最短路径树,满足 L i , k + w ( k , j ) = L [ i , j ] L_{i, k} + w(k, j) = L[i, j] Li,k+w(k,j)=L[i,j] 的就是前驱, 遍历每一个。

同时算

动态规划的两种情况,根据min是前项大还是后项大判断:

π i j ( k ) = { π i j ( k − 1 ) k不是中间节点 π k j ( k − 1 ) k是中间节点 \pi_{ij}^{(k)}=\begin{cases} \pi_{ij}^{(k-1)} & \text{k不是中间节点}\\ \pi_{kj}^{(k-1)} & \text{k是中间节点} \end{cases} πij(k)={πij(k1)πkj(k1)k不是中间节点k是中间节点

跨流

横跨任意切割的净流量都等于图的流量。

流网络

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值