FZU 2214 Knapsack problem
题目链接: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相关推荐
- 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 ...
- JavaScript实现Knapsack problem背包问题算法(附完整源码)
JavaScript实现Knapsack problem背包问题算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 MergeSort.js完整源代码 Knapsack ...
- 动态规划法(四)0-1背包问题(0-1 Knapsack Problem)
继续讲故事~~ 转眼我们的主人公丁丁就要离开自己的家乡,去大城市见世面了.这天晚上,妈妈正在耐心地帮丁丁收拾行李.家里有个最大能承受20kg的袋子,可是妈妈却有很多东西想装袋子里,已知行李的编 ...
- [Algorithmic Toolbox学习笔记][week6]0/1 Knapsack Problem
问题描述 具体的问题描述请参考以下链接: [Algorithmic Toolbox学习笔记][week3]战利品的最大价值_Karen_AMPM的博客-CSDN博客假设小偷有一个背包只能放下一定重量的 ...
- Knapsack Problem
背包九讲 0-1 knapsack problem 01背包-牛客网 已知一个背包最多能容纳体积之和为V的物品,现有 n 个物品,第 i 个物品的体积为 vi , 重量为 wi,求当前背包最多能装多大 ...
- Dynamic Programming 01 —knapsack problem(动态规划背包问题)
首先引入动态变化的含义:为什么要有动态规划? Introduction: 从斐波那契函数的递归中我们发现,在例子求fib(7)的过程中,我们需求得fib(5)和fib(6),而我们在求fib(6)的时 ...
- C#,背包问题(Knapsack Problem)贪心算法的源代码
背包问题(KnapSack Problem)的相关算法是常用的规划算法. 一.什么是背包问题? 背包的问题是,你有一个"袋子",可以装有限数量的物品,鉴于你有一组物品可以从每个物品 ...
- Python多维约束(重量+体积+次数)背包问题(Knapsack Problem)
问题描述:1.一个背包,往里装东西,物品重量w(weight)对应为[2,3,4,7] ,价值va(value)对应为[1,4,7,12] ,如果你的最大承重为20,每个物品可装次数不限,求你能装入背 ...
- 【 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 ...
最新文章
- 后浪优秀!21 岁小伙兼职程序员养家,大三存款达 6 位数
- Fatal error: connect ECONNREFUSED Fatal error: socket hang up
- 数据分析之全国热门景点分析
- yolov3深度解析
- AIgorand的基本原理
- OpenCV探索之路(九):模板匹配
- OpenCV4.5.1 | 使用一行代码将图像匹配性能提高14%
- 差分编码与译码代码编写
- html遇到英文单词整体换行,HTML在table中如何强制单词换行
- 【Verilog基础】常见的加法器电路总结(面试常考)(半加器、全加器、行波进位加法器RCA、超前进位加法器CLA)
- 4底2分化查找程序的作业树
- 无框画与动漫卡通的美妙相遇
- 摩羯座 计算机专业,为什么说摩羯座是一个很“作”的星座?
- 华为笔记本电脑计算机在哪里打开,华为笔记本电脑有摄像头吗
- 和月薪5W的华为程序员聊过后,才知道自己一直在打杂...
- pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)
- yolov5 检测detect.py笔记
- 云计算 linux运维工程师招聘,linux云计算运维工程师前景及薪资待遇
- 中职双师型教师计算机培训总结,双师型教师计算机培训心得体会.doc
- 前端性能优化常用代码