摘要: prim实现#include<iostream>#include<string>#define MAXINT 9999999using namespace std;int map[101][101],s[101],dis[101],n;int prim(){ int sum=0; memset(s,0,sizeof(s)); s[1]=1; for(int i=2;i<=n;i++) dis[i]=map[1][i]; dis[1]=0; for(int i=1;i<n;i++) { int min=MAXINT,k=1; for(int j=1;j< 阅读全文
posted @ 2011-08-15 23:56 枕边梦 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 【题目大意】: 给出一个超市24小时各需要R[i]个雇员工作,有N个雇员可以雇佣,他们开始工作时间分别为A[i],求需要的最少的雇员人数。这题目在黑书上有详细的解析,题目的关键是在构图上,把约束条件找出来,再按照条件加边就OK了,不过,我是参考课件里面才过的【算法分析】: 用差分约束,难点是建立模型。设X[i]为0-i小时内工作的人数(X[24]即为所求),R[i]为第(i-1)-i小时时需要在工作的人数,A[i]可以在第i-1小时开始工作。可以建立起以下约束不等式:0 <= X[i]-X[i-1] <= A[i]; 1 <= I <= 24;X[i] – X[i-8] 阅读全文
posted @ 2011-08-15 12:53 枕边梦 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题意:有N-1个城市给首都(第N个城市)支援物资,有M条路,走每条路要耗费一定百分比(相对于这条路的起点的物资)的物资。问给定N-1个城市将要提供的物资,和每条路的消耗百分比。求能送到首都的最多的物资数量思路:求前N-1个点各自到达N是所剩物资的最大值,设dis[i]为到达i城市时所剩的物资,则变为求最长路的问题了,所以要对前N-1个节点都做一次最长路,再累加即可。要注意的地方:1)第一是消耗百分比是相对于这条路的起点,第二是无向边。因为第一点,所以不能看成反向的DIJ一次性做完,而是应该把每个点可以送到最多物资依次算出来最后相加。用Bellman松弛边,因为是无向边,而又没有保存两次边,所以 阅读全文
posted @ 2011-08-15 10:32 枕边梦 阅读(582) 评论(0) 推荐(0) 编辑
摘要: Bellman-ford 的变形:题意:一个游戏,要在能量大于0的情况下从room[1]走到room[n]判为赢,不然中途停止或者能量为负判为输,其中房间之间可以是回路,每个房间有自己的能量。由于是求能否到达,当然想尽可能的多增加能量,故用Bellman求最长路。而中间过程中不能使能量为零或负,故在Bellman松弛前加一条件,控制其松弛的点。最后如果能得到终点最长路大于零,则能过关,或者有正圈可以到达终点,也能过关。判断是否连通,用floyd 算法,O(n^3)#include<iostream>#include<string>#define MAXINT 99999 阅读全文
posted @ 2011-08-15 09:48 枕边梦 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 嘿嘿,跟pku 1151 差不多,都是单源最短路,这次求的是每个点往返最短时间中的最大值,就是先按pku1151一样,求往返俩次的最短路,再求出最大值即可代码基本没怎么改#include <iostream>#include<string>#include<stdlib.h>using namespace std;const int MAX = 1010;const int inf = INT_MAX;int N,m,n,num,s;typedef struct vol{ int w,//当前位置 v,//价值 value next;//下一结点的位置} V 阅读全文
posted @ 2011-08-15 02:02 枕边梦 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 这题目限制是8000ms,一看就不怎么做得下去了,但题目意思倒是很简单求源点到其他各个点之和 加上 其他各个点到源点之和的最小值建立正反两个邻接表,作正反两次最短路,SPFA逆序的情况:在初始化的时候在反向保存另一相同表 即: 1 ---> 2 13 反向后:2 ---> 1 13 要求各点到源点的距离和,即求源点到各点的距离和 所以,处理好后,只要求两次源点到各点距离和相加即可#include <iostream>#include<string>#include<stdlib.h>using namespace std;const int MA 阅读全文
posted @ 2011-08-15 01:39 枕边梦 阅读(143) 评论(0) 推荐(0) 编辑