摘要: 题意:有 M 个供应商,N 个店主,K 个物品, 知道了每个供应商对每个物品的供应量,每个店主对每个物品的需求量,和每个供应商把每个物品送到每个店主所需要花的费用, 问已有的货物是否可以满足所有供应商的需求,如果满足,求出供应所需花费的最小费用。分析:忘记把反向费用设为正向费用的负值,再次卡了N久 T-T...谨记之... 由于每个物品互不相关,所以可以分开求费用流,最后把所有物品的费用流加起来即为总的费用流。 建图: 源点 S=0 汇点 T=N+M+1 供应商编号 1...M 店主编号 M+1...M+N 流量边: 源点到每个供应商的边的容量为物品的供应量; 每个供应商和每个店主之间的边的容 阅读全文
posted @ 2012-07-28 17:46 'wind 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 题意: 老板要给一些人发工资,但是一些人要求自己的工资必须比另一些人高,问最少需要发多少工资才能满足所有人的需求,如果不能满足输出-1,基础工资是 888.分析: 由于 人数比较多 ,不能用邻接矩阵,排序用广搜排,如果排序结果发现有环(即找到的入度为 0 的点没有 n 个)的话,则无法满足所有人的要求。 因为要使工资尽可能少,所以需要逆向拓扑排序。#include<cstdio>#include<cstring>#define max(a,b)(a)>(b)?(a):(b)#define clr(x)memset(x,0,sizeof(x))struct node 阅读全文
posted @ 2012-07-28 15:13 'wind 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一些人的名次关系,问存不存在冲突的情况。分析: 这题其实就是判断拓扑排序的过程中是否会出现环,判断环的方法是: 在某一次排序的过程中找不到入度为 0 的点,即说明有环。 PS: 重边 需要考虑...#include<cstdio>#include<cstring>#define clr(x)memset(x,0,sizeof(x))int g[102][102];int indegree[102];int main(){ int i,j,k,n,m,a,b; bool flag; while(scanf("%d%d",&n,&am 阅读全文
posted @ 2012-07-28 14:26 'wind 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个商店里有许多颜料盒,但是每个颜料盒里面没有 grey 这种颜色,而这种颜色可以由任意其他三种颜色配成,每个颜料盒里一开始有 50ml 的各种非 grey 颜色,告诉了 每种颜色和grey颜色的需求量,问最少需要多少个颜料盒才能够用。分析: 贪心。 可以对非 grey的颜色排序,每次找出量最少的三个颜色,在其中每个都 +1 ,然后就可以让 grey 颜色 -1, 这样到 grey 颜色配完之后,找出需求最多的颜色所需要的颜料盒即可。#include<cstdio>#include<cstring>#include<algorithm>using n 阅读全文
posted @ 2012-07-28 13:32 'wind 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个字符串,求出该字符串的哈夫曼编码的总长度。分析:由于没考虑树中只有一个字符的情况又WA了N 久T-T ,最近总是犯脑残的错误啊。 关于哈夫曼编码 可以看这个.... 留着复习... http://www.thecodeway.com/blog/?p=870#include<cstring>#include<cstdio>#include<queue>#include<algorithm>#define clr(x)memset(x,0,sizeof(x))using namespace std;struct node{ double 阅读全文
posted @ 2012-07-28 12:34 'wind 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n 个木头,知道了每个木头的长和宽,现在要用机器加工这些木头,加工的时候,如果加工过一个木头,再加工另一个木头的时候,如果这个木头的长和宽都大于或等于这个木头就不需要加热的时间,否则需要 1 分钟的加热时间,问加工完这些木头最少需要多少加热时间。分析: 贪心。 加工完一个木头后,尽量找长和宽都大于等于它的并且尽可能和它大小差不多的木头加工。 可以先对长排序,然后对宽排序。#include<cstdio>#include<algorithm>using namespace std;struct node{ int len,wi; bool flag;}q[500 阅读全文
posted @ 2012-07-28 09:54 'wind 阅读(135) 评论(0) 推荐(0) 编辑