poj 3262 牛毁坏花问题 贪心算法】的更多相关文章

题意:有n头牛,每头牛回去都需要一定时间,如果呆在原地就会毁坏花朵.问:怎么安排使得毁坏的花朵最少? 思路: 拉走成本最高的. 什么是成本?毁坏花朵的数量. 例如有两种排序   (这里用(a,b)表示题意,a表示往回走的时间,b表示呆在原处毁坏花朵的数量      (a,b) (c,d) 成本为 x*b+(x+a)*d;         (c,d) (a,b) 成本为 x*d+(x+c)*b;   两种成本显示,如果ad>bc则选择下面那种排序,如果bc>ad则选择上面那种排序,实现的代码 b…
题意:有n个牛在FJ的花园乱吃.所以FJ要赶他们回牛棚.每个牛在被赶走之前每秒吃Di个花朵.赶它回去FJ来回要花的总时间是Ti×2.在被赶走的过程中,被赶走的牛就不能乱吃 思路: 先赶走破坏力大的牛假设序列都由二元组组成,二元组是由T和D组成,那么对一个序列有相邻的两头牛是这样的..........(a, b) ,(c, d)....................如果(a,b)和(c,d)交换位置了变成新序列..........(c,d),(a,b)......................…
题意:给一些工作区间,如何选取最小的工作数量,覆盖[1,T]的工作时长 一开始的思路,当然也是错误的思路: 我想着,最小工作数量是吧?那肯定就是选择结束时间最晚的,给结束时间来一个排序.哎这个思路错误的离谱... 解题思路: 标记起点,当然对提供的工作区间,按开始的时间从小到大排序. 对能够覆盖起点(即可选的工作区域),选择结束时间最晚的(即工作时长最长的) 更新起点 代码中的小技巧 主要针对第二个解题思路: 可选区域:i<n&&node[i].start<=T+1  --i表…
Protecting the Flowers 直接中文 Descriptions FJ去砍树,然后和平时一样留了 N (2 ≤ N ≤ 100,000)头牛吃草.当他回来的时候,他发现奶牛们正在津津有味地吃着FJ种的美丽的花!为了减少后续伤害,FJ决定立即采取行动:运输每头牛回到自己的牛棚. 每只奶牛i在离牛棚Ti(1 ≤ Ti ≤ 2,000,000) 分钟路程的地方,每分钟吃掉Di(1 ≤ Di ≤ 100)朵花.FJ使尽浑身解数,也只能一次带回一头奶牛.弄回一头奶牛i需要2*Ti分钟(来回…
思想: (贪心算法 ,看到题目是中文才做的) 先对数组中的数据进行排序,从最小的数据计算 当前的顶点的可以滑行的最大值=max(周围可达的顶点的可以滑行的最大值)+1 这样计算最后产生的路径肯定是最大的 (看discuss中,有动态规划和dfs实现的代码,回头看看) #include <iostream> #include <algorithm> using namespace std; #define MAX 10005 /*488K 63MS*/ typedef struct…
田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两种思路. 思路二: 1.开始也是先排序,可以使用sort快排: 2.然后将田忌最大的马与国王进行比较: 3.如果田忌最大的马大于国王,那么就胜场++: 4.如果田忌最大的马小于国王,那么就一定会输,所以用田忌最小的马输给国王最大的马: 5.如果田忌最大的马等于国王,那么就比较最小的马: 5.1.如果…
贪心算法的本质: 就是当前状态的最优解,它并不考虑全局. 什么是当前状态的最优解? 成本问题? https://www.cnblogs.com/xuxiaojin/p/9400892.html (poj 2393)这里面涉及到了每周的成本,只要当前这一周的成本最低就可以了,不要去考虑后面的成本. https://www.cnblogs.com/xuxiaojin/p/9401179.html  (poj 3626) 这里面设计到奶牛毁坏花的最大成本,只要当前拖走最大成本就可以了 区间贪心问题?…
题目如下: With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You are…
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…