题目链接:http://acm.fzu.edu.cn/problem.php?pid=2214

题        意:给你一个背包,让你往里面尽量加价值总和多的物品。

思        路:是个01背包问题,但由于重量过大,所以,我们要反过来求用尽量轻的重量组成一个价值,最后输出要求的。

代码如下:

#include <stdio.h>
#include <iostream>
#include <cstring>
#include <climits>
#include <cmath>
using namespace std;
typedef __int64 LL;struct node
{int w, v;
} vis[600];LL dp[5600];int main()
{int T;scanf ( "%d", &T );while( T-- ){int n, b, v = 0;scanf ( "%d %d", &n, &b );for( int i = 1; i <= n; i ++ )scanf ( "%d %d", &vis[i].w, &vis[i].v ),v += vis[i].v;memset( dp, 0x3f3f3f3f, sizeof( dp ) );dp[0] = 0;for( int i = 1; i <= n; i ++ )for( int j = v; j >= vis[i].v; j -- ){dp[j] = min( dp[j], dp[j-vis[i].v] + vis[i].w );}for( ; v >= 0; v -- )if( dp[v] <= b ){printf("%d\n", v );break;}}return 0;
}

FZU 2214 Knapsack problem相关推荐

  1. FZU 2214 Knapsack problem(背包问题)

    Description 题目描述 Given a set of n items, each with a weight w[i] and a value v[i], determine a way t ...

  2. JavaScript实现Knapsack problem背包问题算法(附完整源码)

    JavaScript实现Knapsack problem背包问题算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 MergeSort.js完整源代码 Knapsack ...

  3. 动态规划法(四)0-1背包问题(0-1 Knapsack Problem)

      继续讲故事~~   转眼我们的主人公丁丁就要离开自己的家乡,去大城市见世面了.这天晚上,妈妈正在耐心地帮丁丁收拾行李.家里有个最大能承受20kg的袋子,可是妈妈却有很多东西想装袋子里,已知行李的编 ...

  4. [Algorithmic Toolbox学习笔记][week6]0/1 Knapsack Problem

    问题描述 具体的问题描述请参考以下链接: [Algorithmic Toolbox学习笔记][week3]战利品的最大价值_Karen_AMPM的博客-CSDN博客假设小偷有一个背包只能放下一定重量的 ...

  5. Knapsack Problem

    背包九讲 0-1 knapsack problem 01背包-牛客网 已知一个背包最多能容纳体积之和为V的物品,现有 n 个物品,第 i 个物品的体积为 vi , 重量为 wi,求当前背包最多能装多大 ...

  6. Dynamic Programming 01 —knapsack problem(动态规划背包问题)

    首先引入动态变化的含义:为什么要有动态规划? Introduction: 从斐波那契函数的递归中我们发现,在例子求fib(7)的过程中,我们需求得fib(5)和fib(6),而我们在求fib(6)的时 ...

  7. C#,背包问题(Knapsack Problem)贪心算法的源代码

    背包问题(KnapSack Problem)的相关算法是常用的规划算法. 一.什么是背包问题? 背包的问题是,你有一个"袋子",可以装有限数量的物品,鉴于你有一组物品可以从每个物品 ...

  8. Python多维约束(重量+体积+次数)背包问题(Knapsack Problem)

    问题描述:1.一个背包,往里装东西,物品重量w(weight)对应为[2,3,4,7] ,价值va(value)对应为[1,4,7,12] ,如果你的最大承重为20,每个物品可装次数不限,求你能装入背 ...

  9. 【 FZU - 2214 】Knapsack problem(逆向0-1背包)

    题干: Given a set of n items, each with a weight w[i] and a value v[i], determine a way to choose the ...

最新文章

  1. 后浪优秀!21 岁小伙兼职程序员养家,大三存款达 6 位数
  2. Fatal error: connect ECONNREFUSED Fatal error: socket hang up
  3. 数据分析之全国热门景点分析
  4. yolov3深度解析
  5. AIgorand的基本原理
  6. OpenCV探索之路(九):模板匹配
  7. OpenCV4.5.1 | 使用一行代码将图像匹配性能提高14%
  8. 差分编码与译码代码编写
  9. html遇到英文单词整体换行,HTML在table中如何强制单词换行
  10. 【Verilog基础】常见的加法器电路总结(面试常考)(半加器、全加器、行波进位加法器RCA、超前进位加法器CLA)
  11. 4底2分化查找程序的作业树
  12. 无框画与动漫卡通的美妙相遇
  13. 摩羯座 计算机专业,为什么说摩羯座是一个很“作”的星座?
  14. 华为笔记本电脑计算机在哪里打开,华为笔记本电脑有摄像头吗
  15. 和月薪5W的华为程序员聊过后,才知道自己一直在打杂...
  16. pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)
  17. yolov5 检测detect.py笔记
  18. 云计算 linux运维工程师招聘,linux云计算运维工程师前景及薪资待遇
  19. 中职双师型教师计算机培训总结,双师型教师计算机培训心得体会.doc
  20. 前端性能优化常用代码

热门文章

  1. 如何压缩ppt文件大小?
  2. 基于CSI数据实现Suspicious object detection
  3. 一行代码完成Java的Excel读写
  4. Shell命令:echo 命令详解
  5. 2020 中科院 CVPR : Context-Aware Attention Network for Image-Text Retrieval
  6. python学习笔记(二十三) -- 多进程和多线程
  7. Dagger2 进阶
  8. 愿在以后的日子里,即使单枪匹马也能勇往直前
  9. python中np.random.randint()函数
  10. c语言如何解超越方程