- 博客(6)
- 收藏
- 关注
原创 Poj 1511 Invitation Cards -- spfa
/*方法:spfa算法。注意在存边的时候,此题在数据上卡掉了vector,可以用邻接表。 因为本题要计算人去发传单和回来的最小花费之和,所以需要两次spfa。*/#include#include#include#include#define ll long longusing namespace std;#define MAX 1000010#defin
2013-08-27 22:56:05 699
原创 Poj 3723 Conscription -- 最大生成树(森林)
#include#include#includeusing namespace std;struct edge{ int a,b; int d;}r[50010];int p[20010];int root(int x){ if(p[x]==x) return p[x]; return p[x] = root(p[x]);}void
2013-08-27 22:46:43 812
原创 Poj 1251 Jungle Roads -- 最小生成树
/*题意:求最小生成树分析:kruskal,注意一下输入,推荐用cin。*/#include#include#includeusing namespace std;struct edge{ int a,b; int len;}a[80];int num;int p[30];int root(int x){ if(p[x] == -
2013-08-27 19:29:16 692
原创 Hdu1011 Starship Troopers -- 树形背包
/*题意:星河战队要去完成任务:用有限的战士去俘获尽可能多的首脑。条件和注意:1:一颗树(没有重边,没有环,没有孤立点),表示敌军的基地地图 2:一个战士可以战胜20个敌人,保证战士不重复战斗,不走回路。 3:要想抓到首脑,必须要有战士进入房间。分析:树上跑背包。*/#include#include#include#include#include
2013-08-27 19:14:01 812
原创 Hdu 1081 To The Max -- DP
/*题意:给你一个n*n的矩阵,充满数字。让你找到一个矩形区域,使得区域内数字和最大。分析:将矩阵看做一列数字去求,求这一列数字中最大的片段和。但是怎么把矩阵压缩成一列呢?而且要保证其正确性? 从1-n行,每次从第i行往下加,得到n-i+1种情况。一共n*(n-1)/2种情况。完备和准确性都满足。*/#include#includeint a[105][105];
2013-08-27 18:31:38 656
原创 Hdu 1069 Monkey and Banana -- DP
/*题意:给你n个箱子,有长宽高,箱子的个数不限,让你把它们摞起来以得到最高的高度。摞起来的规则是:上面箱子的长宽必须严格小于下面箱子的对应长宽。 箱子可以翻转。分析:按 立起来是长、宽、高将一个箱子看做是三个箱子。对长宽进行排序,再从最大的搜到最小的,每次更新得到的最大高度,即可得到结果。 也可以用弗洛伊德求最长路的思想来做。*/#include#includeu
2013-08-27 17:33:49 1106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人