本文共 1599 字,大约阅读时间需要 5 分钟。
题意:给出v个点,e条边的加权有向图,求1-v的两条不相交的路径,使得劝和最小。
思路:
拆点法,把2-(v-1)的每个节点拆成两个结点,中间连一条容量为1,费用为0的边,求1到v的流量为1的最小费用流即可。
#includeusing namespace std;const int maxn=1e4;int n,m;const int inf=1e8;struct Edge{ int from,to,flow,cap,cost; Edge(int f,int t,int c,int ff,int cc) { from=f; to=t; flow=ff; cap=c; cost=cc; }};vector G[maxn];int p[maxn];int a[maxn];vector edges;int d[maxn];int inq[maxn];void Init(){ edges.clear(); for(int i=0; i
转载地址:http://ffgsi.baihongyu.com/