题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=311


分析:这里就是一个完全背包,需要注意的就是初始化和最后的输出情况
       dp[j]=max{ dp[j],dp[j-c[i]]+w[i] }


#include<stdio.h>

const int INF=0XFFFFFF;
int main()
{
  int N,M,V,c[2010],w[2010],dp[50000];
  scanf("%d",&N);
  while (N--)
  {
    //读取数据
    scanf("%d%d",&M,&V);
    for(int i=1;i<=M;i++)
      scanf("%d%d",&c[i],&w[i]);
    //数据初始化
    for(int i=0;i<=V;i++)
      dp[i]=-INF;
    dp[0]=0;
    //利用递推关系
    for(int i=1;i<=M;i++)
      for(int j=c[i];j<=V;j++)
       dp[j]=dp[j]>dp[j-c[i]]+w[i]?dp[j]:dp[j-c[i]]+w[i];
    //输出。这里是要求背包装满
    if(dp[V]<0)
      printf("NO\n");
    else
      printf("%d\n",dp[V]);
  }
  return 0;
}


《背包九讲》里面有关于初始化的问题。


NYOJ--311(完全背包)的更多相关文章

  1. NYOJ 311 完全背包

    完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是 ...

  2. 题解报告:NYOJ #311完全背包(恰好装满)

    描述: 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w.求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大.本题 ...

  3. nyoj 311 dp 完全背包

    完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w. ...

  4. nyist oj 311 全然背包 (动态规划经典题)

    全然背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描写叙述 直接说题意,全然背包定义有N种物品和一个容量为V的背包.每种物品都有无限件可用.第i种物品的体积是c,价值是 ...

  5. NYOJ(325)+NYOJ(456),01背包

    题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=325 http://acm.nyist.net/JudgeOnline/problem. ...

  6. nyoj 311-完全背包 (动态规划, 完全背包)

    311-完全背包 内存限制:64MB 时间限制:4000ms Special Judge: No accepted:5 submit:7 题目描述: 直接说题意,完全背包定义有N种物品和一个容量为V的 ...

  7. hyxzc_背包九讲课件

    10 1 1 1 5 5 7 9 //体积 5 5 1 5 3 5 1//价值   01 完全 多重 分组 有依赖性 ... ------------------------------------- ...

  8. nyoj 1091 还是01背包(超大数dp)

    nyoj 1091 还是01背包 描述 有n个重量和价值分别为 wi 和 vi 的物品,从这些物品中挑选总重量不超过W的物品,求所有挑选方案中价值总和的最大值 1 <= n <=40 1 ...

  9. nyoj 203 三国志 dijkstra+01背包

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=203 思路:先求点0到每个点的最短距离,dijkstra算法,然后就是01背包了 我奇怪的 ...

  10. NYOJ-289 苹果 289 AC(01背包) 分类: NYOJ 2014-01-01 21:30 178人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> #define max(x,y) x>y?x:y struct apple { int c; i ...

随机推荐

  1. mysql 06章_分组查询和链接查询

    一.分组查询 在进行查询时,通常需要按某个或某些字段进行一些统计,因此就需要使用分组查询,但分组后通常需要与聚合函数使用,分组才有意义. 语法:SELECT <字段列表|*> FROM 表 ...

  2. linux命令输出到屏幕的同时保存到文件

    有时候无法在一个屏幕中打印出所有显示内容 可以使用以下命令: ifconfig | tee ifconfig.log more ifconfig.log

  3. 2019-8-24-win10-本地适配器不支持重要的低能耗控制器状态

    title author date CreateTime categories win10 本地适配器不支持重要的低能耗控制器状态 lindexi 2019-8-24 16:2:33 +0800 20 ...

  4. python、Jupyter运行时间

    1.Python time time()方法 import time time_start=time.time() time_end=time.time() print('totally cost', ...

  5. dos中文显示乱码怎么办?

    其实只需要一条命令 chcp 65001 执行该操作后,代码页就被变成UTF-8了 也可是GBK,  命令式:  chcp  936 2.修改窗口属性,改变字体 在命令行标题栏上点击右键,选择&quo ...

  6. kubernetes 强制删除istio-system空间,强制删除pod

    加上这个选项 --grace-period=0 --force--grace-period=0 --force 先删除deployment,pod,svc再删除namespace > kubec ...

  7. js--判断当前环境是否为iphonex环境

    /** * 判断是否是iphonex */ function getIsIphonex () { var u = navigator.userAgent; var isIOS = !!u.match( ...

  8. 二分查找总结及部分Lintcode题目分析 3

    Search in rotated sorted array,题目中也给出了相应的例子,就是在sorted array某个节点发生了翻转(ie.0 1 2 4 5 6 7 might become 4 ...

  9. 不能scp到本地mac,mac打开ssh服务

    设置->共享->远程登录->所有用户

  10. AutoMapper Profile用法

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using AutoMappe ...