目录
3、动态规划 优化为1维dp:逆序更新(因为更新适用上一行的值)
2、二进制优化 (时间复杂度 m*sum(si) ->m*sum(log si))
力扣:322、518 零钱兑换1、2; 柠檬水找零(贪心即可)
一、0-1背包
第i个物品可以放1个 或 0个。
1、贪心
c++
// 0-1背包
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MaxItems 1000
struct item{
int weight;
int value;
// 性价比计算函数
bool operator <(const item& bb)const{
return value/(1.0*weight)>(1.0*bb.value)/bb.weight;
}
};
double greedyKnapsack(int