zoukankan      html  css  js  c++  java
  • 双重背包问题

    题目描述

    N个物品,每个物品都有恰好两个。第I种物品的体积和价值分别是WI 和vi。

    背包的体积为T,问在不超过背包体积的情况下,最多能放进多少价值的物品。

    输入输出格式

    输入格式:

    第一行两个整数N,T。

    接下来N行每行两个整数Wi,Vi 。

    输出格式:

    一行一个整数代表答案。

    输入输出样例

    输入样例#1:
    2 3
    1 2
    2 1
    输出样例#1:
    4

    说明

    对于100%的数据,1 ≤ 所有变量 ≤ 100,。

    %%%%%zhx orz钟长者出的 ♂水题耶

     1 #include<cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 
     5 const int N=1004;
     6 struct node{
     7     int num;int wight,vul; 
     8 }a[N];
     9 int dp[N][N];
    10 int main()
    11 {
    12     int n,m;
    13     scanf("%d%d",&n,&m);
    14     for(int i=1;i<=n;i++)
    15     {
    16         scanf("%d%d",&a[i].wight,&a[i].vul);
    17     }
    18     for(int i=1;i<=n;i++)
    19     {
    20         for(int j=0;j<=m;j++)
    21         {
    22             for(int q=0;q<=2;q++)
    23             {
    24                 if(j>=a[i].wight*q)
    25                 {
    26                     dp[i][j]=max(dp[i][j],dp[i-1][j-a[i].wight*q]+a[i].vul*q);
    27                 }
    28             }
    29         }
    30     }
    31     int ans(0);
    32     printf("%d",dp[n][m]);
    33     return 0;
    34 }
  • 相关阅读:
    http-Content-Type
    ip地址和端口号
    node中的js-核心模块
    http-url 发送请求
    http 发送请求
    node http核心模块
    node 写文件
    bzoj-3170 3170: [Tjoi 2013]松鼠聚会(计算几何)
    codeforces 710E E. Generate a String(dp)
    codeforces 710C C. Magic Odd Square(构造)
  • 原文地址:https://www.cnblogs.com/sssy/p/6817882.html
Copyright © 2011-2022 走看看