贪心算法
文章平均质量分 62
hhy518518
这个作者很懒,什么都没留下…
展开
-
poj1042贪心方法或者dp方法
思路:首先该问题分析发现条件很多,提取条件有X位置总钓鱼时间H,每个鱼塘当前的鱼,以及该鱼塘钓鱼了多久首先对于位置X,并不知道最后要钓哪几个河流,那么这时候显然可以枚举接下来分析每个鱼塘钓鱼的时间实际上就是钓鱼的次数由于如果当前确定了钓鱼的小岛个数那么钓鱼的总时间是H-sgma(Ti),又由于对一个点的钓鱼次数对于其他点是不影响的那么这个问题就是D = d1 + d2 +...原创 2015-06-22 13:35:17 · 494 阅读 · 0 评论 -
POJ1659Havel-Hakimi定理判断图的可图性
//度序列//1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。//// 2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列。//// 3,一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的。//// 4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3原创 2015-07-09 22:20:04 · 431 阅读 · 0 评论 -
dilworth解决的题目poj3636,poj1631
//最小的链划分数问题。根据dilworth定理//为最大的反链的长度//187MS 1860K #include #include using namespace std;static const int INF = ~0U>>1; static struct node{ int w; int h; bool operator<(node&rs) { return原创 2015-06-12 22:18:35 · 458 阅读 · 0 评论 -
poj1062昂贵的聘礼有等级限制的最短路径
//主要问题是在最短路径过程中注意等级的差距//第一次原创 2015-06-14 00:43:21 · 269 阅读 · 0 评论 -
hdoj5281二分减少时间复杂度
//265MS 2412K //如果不二分的话那么就是O(N)的复杂度而此题N比较大超时#include #include #include using namespace std;#define For(i,a,b) for(int i=a;i#define MAX_N 100100int a[MAX_N];int b[MAX_N];int n;原创 2015-07-11 22:10:25 · 407 阅读 · 0 评论 -
poj1700多种选择的贪心
//每次船上至少保证一个人否则船无法移动。//那么需要安排过去的人以及回来需要的人//那么每次来回速度最快的人必须在,这样可以节省时间//分为两种情况:最快的位一组,然后交替回来 //每次送人的时候都有两种情况需要考虑//第二种情况:每次最快的带着最慢的一起走//考虑特殊的N=4的情况最小的a,b,最大的y,z 把y,z都运过河的时间同时a,b仍然在左边的时候//那么 b + a原创 2015-07-06 18:06:59 · 334 阅读 · 0 评论 -
ZOJ2714迭代更新
#include #include #include #include using namespace std;#define REP(i,n) for(int i=0;i<n;++i)static const int maxn = 10;static int n;static char pos[maxn][maxn][maxn];static char view[6][m原创 2015-07-13 20:05:44 · 392 阅读 · 1 评论 -
poj1323,poj2586贪心容易题
poj1323//,M个人,每人N张牌,每轮比较谁出的牌大,最大者为胜。现在给定M和N,以及你的牌,//要求输出你至少能确保获得几轮的胜利每个人得到的牌是不同的//136K 0MS#include #include #include #include #include using namespace std;#define MAXN 60int m,n;int pip[M原创 2015-10-17 22:38:31 · 387 阅读 · 0 评论