
贪心算法
文章平均质量分 51
ACM-Blog-WUCHAO
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法—Problem P
题意 每周可以生产牛奶,每周生产的价格为Ci,每周需要上交的牛奶量Yi,你可以选择本周生产牛奶,也可选择提前几周生产出存储在仓库中(仓库无限大,而且保质期不考虑),每一周存仓库牛奶需要花费S元,求出所有周的需求量上交的最少花费。 解题思路 简单的贪心,每周有两种情况,要么是自己生产,要么是用上一周存下来的(只能是上一周,不能使上上周,因为每次都取最优,如果你取上上周比取上周还优,那只能说明你上原创 2016-03-30 16:07:32 · 331 阅读 · 0 评论 -
贪心算法—Problem R
题意 一个工厂制造的产品形状都是长方体盒子,它们的高度都是 h,长和宽都相等,一共有六个型号,分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体箱子包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的箱子数量BoxNum。 解题思路 由于盒子和箱子的高均为h,因此只需考虑底面积的空间。 6*6的盒子,每个盒子独占一原创 2016-03-28 17:07:26 · 798 阅读 · 0 评论 -
贪心算法—Problem K
贪心算法—Problem K 题意 有n种颜色(不包括灰色),任意三种颜色各x ml混合可以得到x ml灰色,一整套颜料包括n种颜色,每种50ml,现给出对每种颜色以及灰色的需求量,要求至少需要多少套颜料才能达到要求。 解题思路 首先处理输入的几种颜色(不包括灰色),把他们放入数组中然后再输入的同时找出最大的,根据这个最大的找出至少需要多少套。然后再处理灰色,将找出的最少颜料套数减去需要的颜原创 2016-03-27 17:05:23 · 430 阅读 · 0 评论 -
贪心算法—Problem A
贪心算法—Problem A题意一层楼里有200个房间,每一个在南北侧沿走廊。因为走廊很窄,只有一张桌子可以穿过走廊。从一个房间到另一个房间移动一张桌子可以在10分钟内完成。要想提高移动效率,就必须同时移动多张桌子,但是多个路线即从一个房间到另一个房间经过的走廊如果有重叠的部分则不能同时移动桌子,反之,没有重叠的走廊则可以同时移动多张桌子。题目要求是输入多组需要移动桌子的开始房间和移动到的原创 2016-03-15 14:04:12 · 373 阅读 · 0 评论 -
贪心算法—Problem E
贪心算法—Problem E题意有多个电视节目,每个节目有不同的开始时间和结束时间。在不冲突的情况下求能完整观看的最多节目数。解题思路类比于课上例题,定义结构体,包含开始时间和结束时间。将输入的数据按结束时间升序排列。定义能看到的节目数和起始时间都默认为0。将第一个节目放入后,把时间改为第一个节目的结束时间。往下遍历,以此比较下一个节目开始时间与上一个节目结束时间(已赋值给time原创 2016-03-15 14:20:56 · 432 阅读 · 0 评论 -
贪心算法—Problem N
贪心算法—Problem N题意某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利s,如果亏空则亏空d。公司每五个月进行一次统计,全年共统计8次(1-5、2-6、3-7、4-8、5-9、6-10、7-11、8-12),已知这8次统计的结果全部是亏空(盈利-亏空解题思路一共统计了8次,8次都是亏空的,要保证尽量盈利。所以把亏空放到5月份,这时有一个月亏空四个月盈余,如果不能保原创 2016-03-25 14:11:41 · 572 阅读 · 0 评论 -
贪心算法—Problem B&I
贪心算法—Problem B题意要处理一些木棍,第一根的时间是1分钟,另外的,在长度为l,重为w的木棍后面的那根的长度为l', 重量w',只要l 解题思路运用贪心算法。先把这些木棍按长度和重量都从小到大的顺序排列。设length1和weight1是第一根的长度和重量,依次比较后面的是不是比当前的length1,weight1大,是的话把标志flag设为1,并跟新length1,we原创 2016-03-15 17:19:18 · 434 阅读 · 0 评论 -
贪心算法—Problem M
贪心算法—Problem M题意题目很简单,给定两个数分别是n,p;其中p是n的k次方,要求输入n和p,然后计算出k的值并输出。解题思路乍一看问题并不难,想到了cmath库里的pow函数,但一看测试数据发现很大,查找了一下基本数据类型的double发现并未超出它的范围,所以索性就用这种方法来做了,调用pow函数,求p的1/n次方(逆用条件),由于所求是double类型所以对所求数据原创 2016-03-22 16:52:16 · 299 阅读 · 0 评论 -
贪心算法—Problem F
贪心算法—Problem F题意给你一个价格,还有面值分别为1,5,10,50,100(单位:毛)纸币的数量,要你用最少数量的纸币和最多数量的凑出这个价格,输出最少和最多的数量。如果凑不出来,输出"-1 -1"。解题思路最少的数量要用贪心的思想,优先取面值尽量大的纸币来凑这个价格。找最多的数量的纸币问题可以转化为手里剩余的纸币最少,所以,假设手上总共有money毛,而价格为p毛,我原创 2016-03-22 15:53:17 · 388 阅读 · 0 评论 -
贪心算法总结
贪心算法总结一、算法思想 贪心法的基本思路: 从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到某算法中的某一步不能再继续前进时,算法停止。 该算法存在问题: 1. 不能保证求得的最后解是最佳的; 2. 不能用来求最大或最小解问题; 3. 只能求满足某些约束条件的可行解的范围。 实现该算法的过程: 从问题的某一初始解出发; while 能朝给定总目原创 2016-04-01 20:55:37 · 2292 阅读 · 0 评论 -
贪心算法—Problem O
题意 题目意思是,给定T组测试数据,每组测试数据如下: 船每次能装n辆车,来回需要 2*t 时间,m辆车及其到达时间。 求:在最少的次数下的时间(最后一次不需要回头)以及最少的次数。 解题思路 运用贪心算法,贪心策略是:在没有达到最后N个人之前,ferry都是满载才出发。如果当前达到了倒数的第N个人,那么不论此时ferry中有多少人,都要出发,ferry回来之后再把剩下的N个人都载过去。原创 2016-04-01 16:05:07 · 343 阅读 · 0 评论 -
贪心算法—Problem Q
贪心算法—Problem Q题意平均数问题,求一组奶牛产奶量的中间值。 解题思路将输入的奶牛产奶量做个排序然后输出中间数即可。感想比较简单,排序即可。AC代码#include #include using namespace std; int main() { Int n,i; int num[10001];原创 2016-03-18 18:28:02 · 408 阅读 · 0 评论 -
贪心算法—Problem G
贪心算法—Problem G题意一部电梯,起始在0层,输入一组数据表示楼梯先后到达的层数。已知每向上一层时间为6s,下降一层4s,每到达一次指定的楼层就停留5s,求输入一组数据,输出走完这些楼层所需要的总时间。解题思路建立数组存储楼层,第一个数据肯定在0上直接乘6s;其余的建立循环遍历,比较与前一个楼层的大小并把两者之间的差值乘6或4;最后再加上每一个目的楼层停留的时间,即总时间。原创 2016-03-18 17:08:23 · 471 阅读 · 0 评论 -
贪心算法—Problem C
贪心算法—Problem C题意田忌赛马的故事要求用贪心算法求出田忌能获得最多钱数。解题思路输入田忌和国王的马后,把它们的速度升序排列,然后开始比较。首先,比较田忌的快马和国王的快马,如果田忌的快马快于国王的快马,则计数器累加,下标减少;反之,如果慢于国王的快马,则用田忌的最慢马和国王的最快马比(不用比肯定输)计数器减少,对应的下标分别增加和减少。还有一种相等的情况,碰到这种情况,原创 2016-03-18 15:34:02 · 374 阅读 · 0 评论 -
搜索—Problem_1013&1014-A strange lift
搜索—Problem_1013-A strange lift 题意 电梯每层有一个不同的数字,例如第n层有个数字k,那么这一层只能上k层或下k层,但是不能到达低于一层或高于n层的层数,给定起点与终点,要求出最少要按几次键才能到达目标层数。 解题思路 用BFS方法来做。对于当前所在楼层,有两种方案,上或下,且移动的楼层数为该层的指定数目,所以列出这两种情况,对每种情况在分别搜索,之道能到达目原创 2016-04-15 18:11:06 · 327 阅读 · 0 评论