
集训-挑战-贪心
qq_33883176
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心 POJ 2376
题目: 给定一个时间T和N个时间区间,求最少需要多少个区间覆盖总区间[1,T],无法覆盖区域[1,T]时输出-1。 例如T=10,有3个区间[1,7],[3,6],[6,10],则最少需要两个区间来覆盖,选择区间1和区间3。 题解: 先给区域排序,起始点为1 的开始,遍历得到起始点为1,终点最远的位置,然后判断他是否有更新,没有就输出-1,直到end>=t输出。bool cmp(cow a,原创 2016-08-02 23:23:17 · 229 阅读 · 0 评论 -
贪心 POJ 2393
题意: 你每周可以生产牛奶,每周生产的价格为Ci,每周需要上交的牛奶量Yi,你可以选择本周生产牛奶,也可选择提前几周生产出存储在仓库中(仓库无限大,而且保质期不考虑),每一周存仓库牛奶需要花费S元,让你求出所有周的需求量上交的最少花费。 题解: 决定你是否提前生产就是看单价,实际上对于每一次的比较只需要比较当前值和以前的最优解,如果比最优解小,那么此时他变成当前最优解。以此类推#include原创 2016-08-03 10:00:50 · 233 阅读 · 0 评论 -
贪心 POJ 1017
题意: 一个工厂制造的产品形状都是长方体盒子,它们的高度都是 h,长和宽都相等,一共有六个型号,分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。 这些产品通常使用一个 6*6*h 的长方体箱子包装然后邮寄给客户。求至少要多少个箱子。 题解: 各种讨论,遍历所有可能性#include <iostream>#include <algorithm>#include <stdli原创 2016-08-03 10:03:22 · 194 阅读 · 0 评论 -
贪心 POJ 3040
题意: 你有N种硬币,每种若干个,硬币的面值是一种倍数关系,你每次取不少于c面值的硬币,问可以最多去几次 题解: 正是由于面值是一种倍数关系,贪心策略就是从大到小能取多少取多少但不能超过c,然后从小到大,能取多少取多少,直到刚好超过或等于c 用need数组来存在当前情况下的最优解,然后再重复找最优解,直到找不到。 if(sum>0){ break; }结束条件 min(cstr原创 2016-08-03 10:24:08 · 230 阅读 · 0 评论 -
贪心 POJ 1862
题目大意:科学家发现一种奇怪的玩意,他们有重量weight,如果他们碰在一起,总重变成2*sqrt(m1*m2)。要求出最终的重量的最小值。 题解: 按照二元二次方程,当俩书越接近,所求的值越小#include <iostream>#include <algorithm>#include <stdlib.h>#include <math.h>#include <queue>#inclu原创 2016-08-03 10:43:08 · 210 阅读 · 0 评论 -
贪心 POJ 3262
题意: 有n个牛在FJ的花园乱吃。 所以FJ要赶他们回牛棚。 每个牛在被赶走之前每秒吃Di个花朵。赶它回去FJ要花的时间是Ti。在被赶走的过程中牛就不能乱吃了 题解: 每次你赶走的都是当前情况下单位时间吃的最多的牛#include <iostream>#include <algorithm>#include <stdlib.h>#include <math.h>#include <原创 2016-08-03 10:47:52 · 339 阅读 · 0 评论 -
优先队列 POJ 3614
题意: 有一些牛,每只只能涂大于等于a小于等于b spf的防晒霜, 现在我们有一些防晒霜,给出他的spf和量,求最多可以涂好多只牛 题解: 遍历每一个防晒霜,当牛的可能可以接受这个防晒霜时候,就加入队列,每次排头的是最小的那个,然后每次检测队列里面的值是不是符合要求,是就ans++,不是就再也找不出符合他的了,因为防晒霜也是从小到大spf排列的#include<iostream>#incl原创 2016-08-03 11:10:24 · 380 阅读 · 0 评论