算法基础(六):贪心算法

例题:圣诞老人的礼物

1、贪心算法

只考虑眼前最大的操作,不考虑后续

注意:假如不能分开取,则不是贪心算法,对于这道题重点就是可以将整箱分开取

2、圣诞老人的礼物


价值最大,但是重量一定,所以优先挑选那些价值重量比大的糖果


首先按价值/重量比排序,并且假如不能全部装下,则分成小份

代码:


重载compare,按照价值/重量比排序,然后从大到小选


假如可以整箱拿,则整箱,不然则只拿w-现有的重量

最后浮点数保留一位小数,printf("%.1f")

注意:假如不能分开取,则不是贪心算法,对于这道题重点就是可以将整箱分开取

2、电影节


尽可能选结束时间早的电影,则按照结束时间从小到大排序


并且判断电影时间不冲突即可添加该部电影

3、畜栏问题


按开始时间处理奶牛,是一个正常的思路,毕竟奶牛开始时间到了必须得处理,而寻找畜栏也是按照正常思路找出最早结束的,所以贪心算法必然成立


4、放置雷达


雷达位置不一定是整点


雷达的位置可以看成一个区间,区间可以用勾股定理求得



依次考虑,将firstnoconverd向下移,



6、钓鱼




一个时间片及在这个时间片所钓到的鱼的数目




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值