poj 3045 叠罗汉问题 贪心算法】的更多相关文章

题意:将n头牛叠起来,每头牛的力气 s体重 w  倒下的风险是身上的牛的体重的和减去s 求最稳的罗汉倒下去风险的最大值 思路: 将s+w最大的放在下面,从上往下看 解决问题的代码: #include<iostream> #include<cstdio> #include<cstring> #include <algorithm> using namespace std; int n; struct node { int w, s; bool operator…
POJ 3045 Cow Acrobats 这是个贪心的题目,和网上的很多题解略有不同,我的贪心是从最下层开始,每次找到能使该层的牛的风险最小的方案, 记录风险值,上移一层,继续贪心. 最后从遍历每一层的风险值,找到其中的最大值 我一开始对sum-p[i].a-p[i].b从小到大排序,这样第一次取出的就是能使最下层的牛的风险最小的方案,在上移一层时,这一层的风险值   为sum-p[i].a-p[i].b-p[0].a,由于p[0].a是固定值,所以第二次直接取出的就是能使该层的牛的风险最小的…
思想: (贪心算法 ,看到题目是中文才做的) 先对数组中的数据进行排序,从最小的数据计算 当前的顶点的可以滑行的最大值=max(周围可达的顶点的可以滑行的最大值)+1 这样计算最后产生的路径肯定是最大的 (看discuss中,有动态规划和dfs实现的代码,回头看看) #include <iostream> #include <algorithm> using namespace std; #define MAX 10005 /*488K 63MS*/ typedef struct…
题意大概是:有一组木头需要处理,每块木头有长度,重量两个属性,处理的前一块木头长len,重wei,当下一块木头的len1,与wei1满足:len1>len&&wei1>wei 时不需要准备时间,否则需要1分钟的准备时间,问最短的准备时间. 一开始的思路是将所有木头按照长度,重量两个属性从小到大排序后,找逆序数+1. 后来发现这样的思路是有问题的,比如排序后木头的重量是:1,2,3,4,5,6,4,7,8,9,10,9 如果按寻找逆序数的方法则需要分成 1,2,3,4,5,6 4…
Description Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, locating on the coasting, can only cover d distance, s…
田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两种思路. 思路二: 1.开始也是先排序,可以使用sort快排: 2.然后将田忌最大的马与国王进行比较: 3.如果田忌最大的马大于国王,那么就胜场++: 4.如果田忌最大的马小于国王,那么就一定会输,所以用田忌最小的马输给国王最大的马: 5.如果田忌最大的马等于国王,那么就比较最小的马: 5.1.如果…
题目链接:http://poj.org/problem?id=2499 思路分析:结点向左边移动时结点(a, b)变为( a+b, b),向右边移动时( a, b )变为( a, a + b); 为求最短路径<a1, a2, a3,...,an>, 考虑从已经知道的结点(a, b)开始找出最短路径回到根节点(1, 1),即向左移动次数和向右移动次数最少回到根节点,由贪心算法, 若 a>b 时,a 减少最大即减去 b,若 a < b,b 减少最大即减去a值,循环直到到达根节点(1,…
poj 1042 gone fishing 题目要求: 由有n个湖, 按照顺序排列,一个人从第一个湖向最后一个湖行进(方向只能从湖0到湖n-1),途中可以在湖中钓鱼.在每个湖中钓鱼时,开始的5分钟内可以钓到 f[i] 条,之后每5分钟钓到的鱼数目递减 d[i] ,且每两个相邻的湖的距离 t[i] 给出(t[i] 表示 由第 i 个湖向第 i + 1个湖行进在路上花费5分钟的倍数的时间, 即如果t[3] = 4,则表示从第三个湖向第四个湖行进需要花费20分钟). 现给定总时间h 小时,求出在每个湖…
poj 2709 painter 题目要求 给定涂料,每套涂料含有3-12种不同的颜色(开始时候给定选用的颜料套的颜色数目),且一套涂料中每种颜色均有50ml.且一套涂料中的任意三种不同的颜色各X ml混合都可以获得 灰色颜料 X ml.  现在给定需要的各个颜色的数量(这些颜色都属于同一套颜料),以及需要的灰色颜色的数量.求最少需要多少套颜料才能获得这些颜色. 题目分析 直觉告诉我们,使用贪心算法可以解决这个问题.通过使用最多量的颜色可以获得至少需要的颜料的套数 minset, 用minset…
贪心算法的本质: 就是当前状态的最优解,它并不考虑全局. 什么是当前状态的最优解? 成本问题? https://www.cnblogs.com/xuxiaojin/p/9400892.html (poj 2393)这里面涉及到了每周的成本,只要当前这一周的成本最低就可以了,不要去考虑后面的成本. https://www.cnblogs.com/xuxiaojin/p/9401179.html  (poj 3626) 这里面设计到奶牛毁坏花的最大成本,只要当前拖走最大成本就可以了 区间贪心问题?…