【动态规划】完全背包
来源:互联网 发布:知轩藏书下载 编辑:程序博客网 时间:2024/05/22 15:37
完全背包
时间限制:3000 ms | 内存限制:65535 KB
难度:4
- 描述
直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO
- 输入
- 第一行: N 表示有多少组测试数据(N<7)。
接下来每组测试数据的第一行有两个整数M,V。 M表示物品种类的数目,V表示背包的总容量。(0<M<=2000,0<V<=50000)
接下来的M行每行有两个整数c,w分别表示每种物品的重量和价值(0<c<100000,0<w<100000) - 输出
- 对应每组测试数据输出结果(如果能恰好装满背包,输出装满背包时背包内物品的最大价值总和。 如果不能恰好装满背包,输出NO)
- 样例输入
21 52 22 52 25 1
- 样例输出
NO1
/** * */package 动态规划;import java.util.Scanner;/** * @作者: gx_143 * @创建时间: 2017-4-30上午08:56:09 */public class T7完全背包 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);int n=sc.nextInt();int[] out=new int[n];for (int i = 0; i < out.length; i++) {int m=sc.nextInt();int v=sc.nextInt();int[] need=new int[m+1];int[] value=new int[m+1];for (int j = 1; j < value.length; j++) {need[j]=sc.nextInt();value[j]=sc.nextInt();}out[i]=f(m,v,need,value);}for (int i = 0; i < out.length; i++) {if(out[i]==-1)System.out.println("NO");elseSystem.out.println(out[i]);}}private static int f(int m, int v, int[] need, int[] value) {int[] dp=new int[v+1];for (int i = 1; i < dp.length; i++) {dp[i]=-10000000;}for (int i = 1; i <= m; i++) {for (int j = 0; j <= v; j++) {if(j>=need[i])dp[j]=Math.max(dp[j], dp[j-need[i]]+value[i]);}}if(dp[v]<0)return -1;return dp[v];}}
0 0
- 动态规划-----完全背包
- 完全背包---动态规划
- 【动态规划】完全背包
- POJ1384 动态规划 (完全背包)
- 完全背包问题 动态规划
- 完全背包(动态规划)
- 完全背包(动态规划)
- 动态规划-完全背包问题
- 完全背包 动态规划 模版
- 动态规划之完全背包
- 动态规划—完全背包
- 完全背包问题-动态规划
- [动态规划] 01背包与完全背包
- 【动态规划】完全背包、多重背包
- 动态规划&背包九讲&完全背包
- 动态规划-----背包问题-----01背包,完全背包,多重背包
- nyoj--311--完全背包(动态规划,完全背包)
- 动态规划总结(01背包 完全背包 多重背包)
- Flask on SAE
- poj 1664
- angular-filter自定义过滤器运行顺序
- ios 合并静态库.a文件
- 前端笔试重点(3)
- 【动态规划】完全背包
- 第十周 简单的动态规划
- leetcode 500. Keyboard Row
- Arrays.copyOfRange的用法
- 学习HTML
- 同步和异步+阻塞和非阻塞
- git使用小结
- windows server 2012 IE增强的安全配置如何关闭
- mac 下从设置启动mysql 失败,“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mys