题意:
给一个有向图,问把所有的点都放在环中(可能不止一个)..最小代价是多少(做边的最小权值之和)
题解:
我没接触过这种模型..看了这个图才反应过来的:
左图可以看做是1,2成环,3,4,5成环。(source)
把每个点拆成两个点,左边的点代表其出度点,右边的点代表其入度点...左边往右边的有向边代表两点间有边...问题转化成了求二分图的最小权匹配..用KM或者最小费用最大流解决...
Program:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<queue>
#define MAXN 1005
#define MAXM 500005
#define oo 10000