首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
hit2739
】的更多相关文章
HIT2739 The Chinese Postman Problem(最小费用最大流)
题目大概说给一张有向图,要从0点出发返回0点且每条边至少都要走过一次,求走的最短路程. 经典的CPP问题,解法就是加边构造出欧拉回路,一个有向图存在欧拉回路的充分必要条件是基图连通且所有点入度等于出度. 而这题,果断联想到混合图欧拉回路的做法,用最小费用最大流解决: 先只考虑所有边都只走一次,计算出各个点的出度和入度,出度不等于入度的点就需要选择几条边去改变调整它们 对于出度多的就和容量网络的汇点连容量出度-入度费用0的边,入度多的源点就向其同样地连边 对于原图中的所有边<u,v>由u向v连容…
hit2739
好题,回路的问题一般都要转化为度数来做若原图的基图不连通,或者存在某个点的入度或出度为0则无解.统计所有点的入度出度之差di对于di>0的点,加边(s,i,di,0):对于di<0的点,加边(i,t,-di,0):对原图中的每条边(i,j),在网络中加边(i,j,inf,边权),最小费用流的解加上原图所有边权和即为答案. #include<iostream> #include<cstdio> #include<cstring> #include<alg…