给定一个由 $ n $ 行数字组成的数字梯形如下图所示。梯形的第一行有 $ m $ 个数字。从梯形的顶部的 $ m $ 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。
分别遵守以下规则:
- 从梯形的顶至底的 $ m $ 条路径互不相交;
- 从梯形的顶至底的 $ m $ 条路径仅在数字结点处相交;
- 从梯形的顶至底的 $ m $ 条路径允许在数字结点相交或边相交。
Trick: 汇点T设错了大小,自闭了一个小时。
题解
- 规则1:S到顶层的每个点连一条容量为1,费用为0的边,对每个点 $i$ 拆点为 $i’$,其建边费用为点权容量为1,每个点转移到下面的点对(i,j),$i’$到$j$容量为1费用为0,最后底层每个点$i’$到$T$建容量为1费用0的边即可。
- 规则2:不用拆点了,层与层之间建容量为1边权为点权的边即可
- 规则3:同规则2,层与层之间建容量为无穷大边权为点权的边即可。
代码
1 |
|