解题报告
农场有k个挤奶机和c头牛,每头牛到每一台挤奶机距离不一样,每台挤奶机每天最多挤m头牛的奶。
寻找一个方案,安排每头牛到某一挤奶机挤奶,使得c头牛需要走的所有路程中的最大路程的最小值。
要使每一头牛都去挤奶,那么建完模型就要判断是否满流。
由于是多源多点的网络,假设源点0,汇点n+1(n=k+c)
源点到每一头牛的容量为1,每一台机器到汇点的容量为m;用flody求出任意一头牛到...
分类:
其他好文 时间:
2014-07-23 17:17:11
阅读次数:
239
HDU 2066 一个人的旅行(最短路径)
模板题。...
分类:
其他好文 时间:
2014-07-23 16:39:12
阅读次数:
237
邻接表 邻接矩阵来存储图的信息相对于非完全图,会浪费大量的空间,同时在求最短路径的时候也会有多余的计算浪费时间。 使用邻接表可以节约这些浪费的时间。 这里介绍的是用数组模拟的邻接表: 定义begin[MAXN],end[MAXN],dis[MAXN],first[MAXN],next[MAX...
分类:
其他好文 时间:
2014-07-23 15:24:07
阅读次数:
277
Bellman-Ford算法Dijkstra算法无法判断含负权边的图的最短路。如果遇到负权,在没有负权回路存在时,即便有负权的边,也可以采用Bellman-Ford算法正确求出最短路径。PS:负权回路的含义是,回路的权值和为负。算法描述1.初始化:将除源点外的所有顶点的最短距离估计值d[v]←+∞,...
分类:
其他好文 时间:
2014-07-23 14:56:26
阅读次数:
202
Dijkstra算法 Dijkstra算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 注意该算法要求图中不存在负权边。 首先我们来定义一个二维数组Edge[MAXN][MAXN]来存储图的信息。 这个图的Edge数组初始化以后为 我们还需要用一个一维数组dis来存储...
分类:
其他好文 时间:
2014-07-23 14:53:46
阅读次数:
308
Floyd算法 Floyd算法可以用来解决任意两个顶点之间的最短路径问题。 核心公式为: Edge[i][j]=Min{Edge[i][j],Edge[i][k]+Edge[k][j]}。 即通过对i,j两个顶点之间插入顶点后比较路径的大小来进行松弛。 首先我们来定义一个二维数组E...
分类:
其他好文 时间:
2014-07-23 14:45:36
阅读次数:
220
题目地址:HDU4864
这题又是一上来认为是最小费用流,但是边太多,果然,敲完交上去后不断TLE。。小优化了两次也没过。。。sad。。
后来看了题解才发现是贪心。。。贪心也不好想。大体思路是很好想的,就是先都按时间从大到小排序,再遍历任务,从机器里找能匹配的,并在能匹配的里边找等级尽量小的与之匹配。对我来说的突破点在于找能匹配的机器时不是每次都要重新找一遍,而是可以直接利用以前找到的。这就避...
分类:
其他好文 时间:
2014-07-23 13:24:36
阅读次数:
205
题目描述:给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入:输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 ...
分类:
其他好文 时间:
2014-07-23 12:18:06
阅读次数:
259
也是给这个题目跪了一天。。。时间不多了,也不多讲首先要用 nlogn的优先队列dijstla来求最短路,n^2的会超时,不过发现SPFA好像也可以过,他的复杂度应该介于NlogN和N^2之间。然后统计可以去掉的铁路条数才是难点一开始我采用边跑最短路边标记,最后再统计,发现漏了好多情况,自己想了个数据...
分类:
其他好文 时间:
2014-07-23 11:56:36
阅读次数:
281
给一个无向图,求出两个值,所有点到所有其他点的最短距离和,任意删除一条边后的这个值。数据规模是100点1000边。白书例题,不多说了直接对于每个点求出最短路树,对于每条边,如果它不是最短路树上的边,那么我们不需要对它进行最短路计算了,由于点数只有100,那么树上的边只有n-1,所以我们对于以每个点为...
分类:
其他好文 时间:
2014-07-22 23:40:07
阅读次数:
248