C++贪心算法1

1、最优的求解算法,层层分解成子问题(每次一般只有一个),由子问题的最优解回溯到整个最优解
2、考虑局部最优——》整个问题
3、条件
①是否符合
②贪心标准的选择(怎么求局部最优解

4、最优装载问题
策略:最轻最先装
找最优问题,定义结构体
排序,增加函数(compare/比较函数-返回值布尔类型
——取真值表示不变,假值调换
memset(0/1),使用——清零
给集装箱编号
排序(贪心策略)【第二个函数是无效函数的下标开区间,第一个是闭区间】

5、背包问题-装满-价值最大
三种方法(装大东西,装价值大,装性价比)
结构体描述背包
排序银子(性价比降序)【次序的改变与不变】
使用标准模板库函数排序(最好是stable_sort())
用剩余容量来选择,再选择价值
如果要获得解向量X={x1,x2,x3…},则需要在数据结构中加入物品编号 int index——要处理进数组

6、货币找零
最少量变——先用纸币面积大的去找
货币升序排列——从大下标到小下标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值