首页 > 代码库 > poj Optimal Milking
poj Optimal Milking
Optimal Milking
题目:
有K个机器,C只牛。要求求出最所有牛到各个产奶机的最短距离。给出一个C+K的矩阵,表示各种标号间的距离。
而每个地方最多有M只牛。
算法分析:
二分+最短路+网络流
想法难以想到。我是看解题报告的思路。然后,自己上了手。开始wrong 了3次。后来各种该,无意的一个更改就AC了。无语勒。。。。
wrong 在了,网络流建图的时候只能是机器和奶牛之间的距离关系。而奶牛跟奶牛或者机器跟机器不要建边。当时脑残了!!!!
#include <iostream> #include <algorithm> #include <vector> #include <queue> #include <cstdio> #include <cstring> using namespace std; const int INF = 1 << 20; const int MAXN = 1000; struct Edge{ int from,to,cap,flow,cost; Edge(){}; Edge(int _from,int _to,int _cap,int _flow) :from(_from),to(_to),cap(_cap),flow(_flow){}; }; vector<Edge> edges; vector<int> G[MAXN]; int cur[MAXN],d[MAXN]; bool vst[MAXN]; int src,sink; int dist[MAXN][MAXN]; int K,C,M,V; void init(){ src = http://www.mamicode.com/V + 1; sink = src + 1;>还有一种是多重匹配,,还没写。写完补上。
poj Optimal Milking
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。