文章目录

  • 1. 题目
  • 2. 解题

1. 题目

链接:https://ac.nowcoder.com/acm/contest/9887/A
来源:牛客网

牛牛有现在有n个物品,每个物品有一个体积v[i]和重量g[i],他想选择其中总体积恰好为V的若干个物品,想使这若干个物品的总重量最大,他想知道最大总重量为多少。(如果不存在合法方案,返回-1)

2. 解题

  • 数据范围 V 很大,开DP数组要超时,采用哈希表
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可* 返回总体积为V若干物品的最大总重量,如果g存在选择若干物品总体积为V的情况,返回-1* @param v int整型vector * @param g int整型vector * @param V int整型 * @return int整型*/int Maximumweight(vector<int>& v, vector<int>& g, int V) {// write code hereint n = v.size();unordered_map<int, int> dp;// V Gdp[0] = 0;dp[v[0]] = g[0];for(int i = 1; i < n; i++) {unordered_map<int, int> temp(dp.begin(), dp.end());for(auto it = dp.begin(); it != dp.end(); ++it){int vi = it->first;int gi = it->second;if(vi + v[i] <= V){if(temp.find(vi+v[i]) == temp.end())temp[vi+v[i]] = gi + g[i];elsetemp[vi+v[i]] = max(temp[vi+v[i]], gi + g[i]);}}dp.swap(temp);}if(dp.find(V) == dp.end()) return -1;return dp[V];}
};

585ms C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

牛客 牛牛选物(01背包)相关推荐

  1. 牛客 牛牛浇树(差分)

    文章目录 1. 题目 2. 解题 1. 题目 链接:https://ac.nowcoder.com/acm/contest/10323/A 来源:牛客网 牛牛现在在花园养了n棵树,按顺序从第1棵到第n ...

  2. 牛客网-xinjun与阴阳师(背包DP)

    链接:https://ac.nowcoder.com/acm/problem/14602 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言2621 ...

  3. 牛客 牛牛的独特子序列(双指针/二分查找)

    文章目录 1. 题目 2. 解题 2.1 双指针 2.2 二分查找 1. 题目 链接:https://ac.nowcoder.com/acm/contest/9752/B 来源:牛客网 牛牛现在有一个 ...

  4. 牛客 牛牛爱喝酒(模拟)

    文章目录 1. 题目 2. 解题 1. 题目 链接:https://ac.nowcoder.com/acm/contest/9752/A 来源:牛客网 牛牛是一个酒鬼,非常爱喝酒, 一瓶酒m元钱, 两 ...

  5. 牛客 牛牛做除法II

    文章目录 1. 题目 2. 解题 1. 题目 链接:https://ac.nowcoder.com/acm/contest/9715/A 来源:牛客网 牛牛想知道在[0,n]范围中,选取一个最大的数x ...

  6. 牛客 牛牛与LCM(LCM)

    牛牛与LCM 链接:https://ac.nowcoder.com/acm/problem/21674 来源:牛客网 题目描述 牛牛最近在学习初等数论,他的数学老师给他出了一道题,他觉得太简单了, 懒 ...

  7. 2021 牛客网笔试总结 01

    文章目录 牛客网笔试 关于TCP/IP网络接口层的描述是错误的 TCP与UDP说法错误的 async await描述错误的 不属于Location对象的属性 BFC js错误类型 flex布局 fle ...

  8. 牛客 F - 爬塔 (分组背包)

    中国计量大学现代科技学院第四届"中竞杯"程序设计校赛(同步赛)F - 爬塔 链接:https://ac.nowcoder.com/acm/contest/9680/F 题目描述 高 ...

  9. 牛客 - 牛牛的滑动窗口(单调栈+思维+差分)

    题目链接:点击查看 题目分析:给出 nnn 个数,定义滑动窗口的贡献是其中最大值与最小值的乘积,现在问对于长度分别为 [1,n][1,n][1,n] 的滑动窗口,贡献之和分别是多少 题目分析:考虑暴力 ...

最新文章

  1. 我学UML建模系列之核心元素 -------- 参与者
  2. linuxliveu盘怎么用_U盘数据如何恢复?U盘打不开怎么办?
  3. 一致性Hash(Consistent Hashing)原理剖析
  4. HTML5 audio 如何实现播放多个MP3音频
  5. Linux 启动失败 磁盘阵列,组建RAID5重启系统,出现md127的解决办法
  6. Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision
  7. 刚刚,阿里宣布开源Flutter应用框架Fish Redux!
  8. Memcache入门知识
  9. 学单片机的动力是什么,学单片机来做什么,需要多长时间把它学会
  10. 【Python实例第11讲】文本的核外分类
  11. iOS开发总结——项目目录结构
  12. Java容器Set接口
  13. 数控机床属于计算机应用领域,数控技术都应用到这些领域了!你还不知道!
  14. lammps教程:EAM势参数设置详解
  15. 2013年全国统一题库考试-小型汽车驾照模拟考试C1,C2,C3,C4
  16. 暑假D16 T3 密道(数位DP? 打表找规律)
  17. 【唐诗分析器】实现思想代码+具体测试
  18. 微信WeChat多开
  19. XLORE2:大规模跨语言知识图谱构建与应用
  20. MAGIC文件格式解析

热门文章

  1. mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
  2. Nginx【学习笔记】
  3. 初学大数据之如何选择机器学习算法
  4. 以太网,局域网,万维网
  5. mysql raid_DBA们应该知道的RAID卡知识_MySQL
  6. POJ_1862 Stripies 【贪心】
  7. Python 37 进程池与线程池 、 协程
  8. Unity之CharacterController2D学习笔记(1)——基础使用
  9. 怎么在前台取的ViewBag中的值
  10. 使用for语句打印图形