贪心算法2022.3.21

贪心算法2022.3.21

在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而使得问题得到全局最优解。

贪心算法与枚举法的不同之处在于每个子问题都选择最优的情况,然后向下继续进行,且不能回溯,

1.证明原问题的最优解之一可以由贪心选择得到。

2.将最优化问题转化为这样一个问题,即先做出选择,再解决剩下的一个子问题。

3.对每一子问题一一求解,得到子问题的局部最优解;

4.把子问题的解局部最优解合成原来解问题的一个解

找钱问题的贪心解法:

将大问题转化为一个个小的子问题,每次选择最大的钱数使得总量最小。

搬行李问题:想让总时间最小->大家都能同时搬行李->重叠搬行李的人的时间是最终时间

#include<bits/stdc++.h>

万能头文件

#include<algorithm>给sort用

可拆分背包的一般解法为:

这里有 n 种不同值 v[i] 和权重 w[i] 的对象(如果选择该对象的 w[i] 可以获得值 v[i])。

你有一个容器来挑选它们。你可以根据自己的需要把它们分成任意大小的碎片。可以拾取的对象的最大重量给定为 w。请计算您能得到的最大值。

就像是这个题目,要想吃回本就要捡着贵的吃,但是贵只是一方面,人会饱,所以用价格除以质量所获的价格商才是贪心准则,应按照价格商优先进行选取。

于是这个题,就要用的我们之前学的知识了。这里因为要整体排序,所以要先创建一个类,然后自定义 cmp 函数,在使用 sort 排序。

别忘了用结构体嘛,这里有好多需要统计的东西。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了贪心算法,该算法在解决问题时,总是做出在当前看来是最好的选择,而不是从整体最优上加以考虑,仅在某种意义上的局部最优。在引用中给出了一个使用贪心算法解决区间交叠问题的JS代码示例。该代码读取输入的区间范围,并按照特定的排序规则对区间进行排序。然后使用一个栈来存储最优的区间,遍历所有的区间并进行比较,根据不同的情况来更新栈中的区间。最后,输出栈的长度表示交叠的区间数量。通过这种贪心算法的思路,可以有效地解决区间交叠的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JS基于贪心算法解决背包问题示例](https://download.csdn.net/download/weixin_38627213/13194957)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [华为机试真题 Python 实现【区间交叠问题】【2022.11 Q4新题】](https://blog.csdn.net/misayaaaaa/article/details/128221414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值