题意:一个DAG,每条路径的起点固定为1,每条边带权,用几条路径,以最少权值代价使整个DAG每条边都至少被覆盖一次。
每条边至少被覆盖一次,这可以设计成下界为1,上界INF的上下界网络流。但是边带权,而且权最少,要跑费用流?
上下界最小费用可行流!将汇点向源点连边之后原图变成一个无源汇的图。从超级源向超级汇跑一个最小费用最大流即可。因为保证有解,不用担心其他问题。
话说写费用流总是不记得更新p数组(用来记录pre)啊。要注意。
|
|
Simple, enough.
每条边至少被覆盖一次,这可以设计成下界为1,上界INF的上下界网络流。但是边带权,而且权最少,要跑费用流?
上下界最小费用可行流!将汇点向源点连边之后原图变成一个无源汇的图。从超级源向超级汇跑一个最小费用最大流即可。因为保证有解,不用担心其他问题。
话说写费用流总是不记得更新p数组(用来记录pre)啊。要注意。
|
|