博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DP入门——01背包 & 完全背包
阅读量:5053 次
发布时间:2019-06-12

本文共 1169 字,大约阅读时间需要 3 分钟。

01背包:

采药:

#include 
#include
using namespace std;int dp[1005];int weight[105],value[105];int main() { int T, n; cin >> T >> n; for (int i = 0; i < n; i++) { cin >> weight[i] >> value[i]; } for (int i = weight[0]; i <= T; i++) { dp[i] = value[0]; } for (int i = 1; i < n; i++) { for (int j = T; j >= weight[i]; j--) { dp[j] = max(dp[j - weight[i]] + value[i], dp[j]); } } cout << dp[T] << endl; return 0;}
View Code

完全背包

疯狂采药:

#include 
#include
using namespace std;int dp[100005];int weight[10005],value[10005];int main() { int T, n; cin >> T >> n; for (int i = 0; i < n; i++) { cin >> weight[i] >> value[i]; } for (int i = weight[0]; i <= T; i++) { dp[i] = value[0] * (i / weight[0]); } for (int i = 1; i < n; i++) { for (int j = weight[i]; j <= T; j++) { dp[j] = max(dp[j - weight[i]] + value[i], dp[j]); } } cout << dp[T] << endl; return 0;}
View Code

区别在于,完全背包的初始化值,以及完全背包,每个东西可以用无限次,第二重循环是从前往后。

转载于:https://www.cnblogs.com/czc1999/p/10373109.html

你可能感兴趣的文章
学习笔记03_Day09-----Servle与反射()
查看>>
LoadRunner 函数之 web_add_cookie
查看>>
Web服务器Tomcat集群与负载均衡技术
查看>>
FastDFS安装全过程记录(V5.05)
查看>>
unity之UI ------------------------GUI的样式改写
查看>>
js动画杂记
查看>>
python生成器实现杨辉三角
查看>>
MySQL数学函数简明总结
查看>>
网络爬虫
查看>>
C++ Primer 学习笔记_29_STL实践与分析(3) --操作步骤集装箱(下一个)
查看>>
炒冷饭系列:设计模式 原型模式
查看>>
JSF简单介绍
查看>>
JSP中为什么会有直接可以使用的java对象,但在jdkAPI中找不到,因为他们是tomcat中的类。这个在tomcat官网中可以看到...
查看>>
RenderBody,RenderPage和RenderSection
查看>>
html和php添加UTF-8 head标签
查看>>
Django框架 第一天
查看>>
windows服务的几个操作
查看>>
计算机网络知识—(TCP)
查看>>
MySQL的权限赋予
查看>>
Internet History, Technology and Security (Week7)
查看>>