背包初级+贪心
来源:互联网 发布:贪心算法 多机调度 编辑:程序博客网 时间:2024/05/16 19:19
题意:有n个重量和价值分别为w,v的物品,从这些物品中挑选出重量不超过W的物品,求所需有挑战方案中价值总和的最大值。
input:
n=4;
{w,v}=(2,3)(1,2)(3,4)(2,2)
W=5;
output:
7(所选0,1,3物品)
一般的写法:这样会出现重复搜索,降低效率,
int rec(int i,int j){ int res; if(i==n) { res=0; break; } else if(j<w[i]) { res=rec(i+1,j) } else { res=max(rec(i+1),rec(i+1,j-w[i])+v[i]); } return res;}int main(){ cout<<rec(0,W)<<endl;}
优化后的算法(记忆优化)避免出现重复搜索
int d[1001][1001];int rec(int i,int j){ if(d[i][j]>=0) return d[i][j]; int res; if(i==n) { res=0; break; } else if(j<w[i]) { res=rec(i+1,j) } else { res=max(rec(i+1),rec(i+1,j-w[i])+v[i]); } return d[i][j]=res;}int main(){ cout<<rec(0,W)<<endl;}
阅读全文
0 0
- 背包初级+贪心
- 小结 | 初级贪心算法
- 初级背包模板
- tyvj 贪心 p1019 配对 【贪心初级】
- 背包问题--贪心
- 贪心算法 - 背包问题
- 贪心_01背包
- 贪心背包问题
- hdu2159(贪心+01背包)
- 饭卡(poj2546,贪心+背包)
- HDU1009-贪心-部分背包
- 贪心法-背包问题
- 【贪心+背包】【HDU2546】【饭卡】
- 贪心+背包详解
- 贪心之背包问题
- HDU 5501 【贪心+背包】
- 贪心算法----背包问题
- hdu5501 背包+贪心
- 最最最好看的科幻电影集结地
- docker学习——tomcat安装
- Win10搭建TensorFlow-GPU版的框架
- Android消息处理机制(二):循环和消息队列的创建
- remove-duplicates-from-sorted-array
- 背包初级+贪心
- Centos6.5系统下Apache2.4.27的安装过程
- Java 高级特性: Lambda 表达式
- 反馈式学习plus
- SPFA 算法详解( 强大图解,不会都难!)
- 2017.9.3
- jedis 连接池工具类具体实现demo。
- Linus实验楼笔记——第9节:Linux任务计划crontab
- 这些小工具让你的Android 开发更高效