FZUOJ 2214
来源:互联网 发布:防范网络诈骗标语 编辑:程序博客网 时间:2024/06/06 01:26
http://acm.fzu.edu.cn/problem.php?pid=2214
大容量背包逆向思维
#define _CRT_SECURE_NO_WARNINGS#include <cstdio>#include <algorithm>#include <iostream>#include <cstring> using namespace std;const int maxn = 507;int dp[maxn + 1];int w[maxn], v[maxn];int main(){int T;scanf("%d", &T);while (T--) {int n, B, V = 0;scanf("%d%d", &n, &B);for (int i = 0; i < n; ++i) { //重量不超过B, sum (v) <= 5000scanf("%d%d", w + i, v + i);V += v[i];}memset(dp, 0x3f, sizeof dp);dp[0] = 0; //就错在dp这 for (int i = 0; i < n; ++i) {for (int j = V; j >= v[i]; --j) { //dp[j]表示装价值为j时所需的最小容量 if (dp[j - v[i]] + w[i] <= B) { //所需容量尽量小 dp[j] = min(dp[j], dp[j - v[i]] + w[i]);}}}int ans = -1;for (int j = V; j >= 0; --j) {printf("dp[%d] = %d\n", j, dp[j]);if (dp[j] <= B) {ans = j;break;}}printf("%d\n", ans); //价值, dp[j]为重量,dp[j]的价值为j}return 0;}
阅读全文
0 0
- FZUOJ 2214
- [FZUOJ
- FZUOJ 1894 志愿者选拔
- fzuoj 2143 Board Game
- fzuoj 2149 Reverse Game
- FZUOJ 2135 数字游戏
- 【FZUOJ 2020】 组合
- FZUOJ 2231 平行四边形数
- FZUOJ-2273 Triangles
- FZUOJ-2275 Game
- FZUOJ 2273 Triangles
- FZUOJ 2282 Wand
- FZUOJ 2280 Magic
- FZUOJ 2277 Change
- FZUOJ Problem 2178 礼物分配
- fzuOJ 1058 大数吃小数
- FZUoj 1408 位图【基础BFS】
- FZUoj Problem 1884 排火车
- care your hair
- mvc.net分页查询案例——PagedList
- spring-boot问题1:搭建spring-boot项目报错 Error parsing lifecycle processing instructions
- mvc.net分页查询案例——PagerExtension
- python复习笔记
- FZUOJ 2214
- DAY34 多态与多态性、绑定方法和非绑定方法
- 人脸对齐
- mvc.net分页查询案例——mvc-paper.css
- HTML+CSS编写静态网站-28 调整标题和导航
- 不破楼兰终不还
- ORACLE回收站机制介绍
- mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
- c++面试题