FZU 2214 Knapsack problem
来源:互联网 发布:jdk windows x64 下载 编辑:程序博客网 时间:2024/05/21 10:27
题目链接: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;}
0 0
- FZU 2214 Knapsack problem
- FZU - 2214-Knapsack problem
- FZU 2214 Knapsack problem (01背包)
- FZU-2214-Knapsack problem【01背包】
- FZU 2214 Knapsack problem (0/1背包)
- FZU 2214 Knapsack problem 01背包变形
- FZU 2214 Knapsack problem 01超大背包
- FZU 2214 Knapsack problem【DP】【超大容量背包】
- FZU 2214 Knapsack problem (超大容量背包)
- FOJ-2214 Knapsack problem
- FOJ Problem 2214 Knapsack problem
- 每日三题-Day6-A(FZU 2214 Knapsack problem 01背包)
- FZU Problem 2214 Knapsack problem(01背包,超大背包)——第六届福建省大学生程序设计竞赛-重现赛
- FZOJ--2214--Knapsack problem(背包)
- Knapsack problem poj 3264
- The Knapsack problem
- 背包问题(Knapsack problem)
- Knapsack problem(FZU2214)
- (转)onTouchEvent方法的使用
- 简单springmvc实现
- android中OrmLite数据库编程实例讲解
- 带有×的EditText
- Maven以及其Eclipse插件m2eclipse的安装
- FZU 2214 Knapsack problem
- C++最佳编程实践
- linux系统kill和启动tomcat
- Android Material Design:基于CoordinatorLayout实现向上滚动导航条ToolBar滚出、向下滚动导航条滚出
- xmpp的简单使用
- RecyclerView的基本创建
- 【C++】学籍管理系统
- Java 失宠于 Oracle,未来会怎样?
- Kruskal——求无向图的最小生成树+并查集