按小蓝书上写的大数据情况下没过,按解答区一个大佬的修改了过了

#include <bits/stdc++.h>
using namespace std; class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算01背包问题的结果
* @param V int整型 背包的体积
* @param n int整型 物品的个数
* @param vw int整型vector<vector<>> 第一维度为n,第二维度为2的二维数组,vw[i][0],vw[i][1]分别描述i+1个物品的vi,wi
* @return int整型
*/
int knapsack(int V, int n, vector<vector<int>>& vw) {
// write code here
// 创建dp数组
vector <vector<int>> dp;
vector <int> tmp;
tmp.insert(tmp.begin(), V + 1, 0);
for (int i = 0; i <= n; i++)
{
dp.push_back(tmp);
} for (int i = 1; i <= n; i++)
{
for(int j = 1; j <= V; j++)
{
if (j < vw[i-1][0])
{
dp[i][j] = dp[i-1][j];
}
else
{
dp[i][j] = max(dp[i-1][j], dp[i-1][j-vw[i-1][0]] + vw[i-1][1]);
}
}
// for (int j = vw[i-1][0]; j <= V; j++)
// {
// dp[i][j] = max(dp[i-1][j], dp[i-1][j-vw[i-1][0]] + vw[i-1][1]);
// }
}
int maxx = 0; for (int i = 1; i <= V; i++)
{
maxx = max(dp[n][i], maxx);
} return maxx;
}
}; int main()
{
vector<vector<int>> arr {{1,3},{10,4}};
int v = 10, n = 2;
Solution solution;
cout << solution.knapsack(v, n, arr) << endl;
system("pause");
}

最新文章

  1. PMP 第三章 单个项目的项目管理标准
  2. DataTable中如何去除重复的项【转】
  3. 代理和 block 传值的使用
  4. 火狐浏览器对border-radius的渲染问题
  5. 01背包dp+并查集 Codeforces Round #383 (Div. 2)
  6. Linux 文件操作命令-Linux基础环境命令学习笔记
  7. ubuntu18.04安装搜狗拼音
  8. Mybaits-plus实战(三)
  9. python 之C3算法
  10. 完整的SOPC开发流程体验
  11. Android 项目中文件夹作用(res文件夹详细介绍)
  12. linux 安装MySql 5.7.20
  13. Eclipse安装fat jar的两种方式
  14. cdoj1638 红藕香残玉簟秋,轻解罗裳,独上兰舟。
  15. Java笔记之Scanner先读取一个数字,在读取一行字符串方法分析
  16. 如何运行Python程序
  17. 判断表单中是否含有disabled属性
  18. Linux下find命令参数及用法详解
  19. sqlserver 出现sql被锁时,查看加锁和被锁的sql
  20. Rust 1.7.0 macro宏的复用 #[macro_use]的使用方法

热门文章

  1. flask gevent
  2. 菜鸟Markdown笔记,看这个就够了
  3. C 语言基础,来喽!
  4. Timer定时器的使用
  5. 【知识详解】JAVA基础(秋招总结)
  6. 卸载.net 5.0后使用dotnet提示Found .NET Core SDK
  7. 进击的 Ansible(二):如何快速搞定生产环境 Ansible 项目布局?
  8. stat命令的实现-mysate(必做)
  9. CF1264D1 Beautiful Bracket Sequence (easy version)
  10. Codeforces 590E - Birthday(AC 自动机+Dilworth 定理+二分图匹配)