[IPUOJ]混合背包 (dp)

放到二分和分治小测题里还以为是和跳石头差不多的二分题,没想到就是个dp……emmmmmm

就当复习dp了8 . 趴

 

(早知道多做做综合题了,还是这种题更能检测会不会,原理清不清楚啊。

#include<bits/stdc++.h>
using namespace std;
const int N = 1050;
inline int read() {
    char c = getchar();
    int x = 0, f = 1;
    while(c < '0' || c > '9') {
        if(c == '-') f = -1;
        c = getchar();
    }
    while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
    return x * f;
}
int n,vv,x;
int v[N],w[N],dp[N]; 
int main()
{ 
   n = read(); vv = read();
   for(int i = 1; i <= n; i++){
       cin >> v[i] >> w[i] >> x;
    if( x == -1 ){  //01背包 
      for(int j = vv; j >= v[i]; j--) 
        dp[j] = max(dp[j], dp[j-v[i]] + w[i]);
    }
    else if( x == 0){ //完全背包 
         for(int j = v[i];j <= vv;j++)  
                dp[j] = max(dp[j], dp[j-v[i]]+w[i]);   
    }
    else if( x > 0){ //多重背包 
     for(int j = 1; j <= x; j++)
      for(int z = vv; z >= v[i]; z--) 
        dp[z]=max(dp[z],dp[z-v[i]]+w[i]);   
    }
   }
   printf("%d",dp[vv]);
}

 

posted @ 2019-08-27 21:04  QUEKI嶺冬  阅读(215)  评论(0编辑  收藏  举报
/*! Color themes for Google Code Prettify | MIT License | github.com/jmblog/color-themes-for-google-code-prettify */ .pln{color:#4d4d4c}ol.linenums{margin-top:0;margin-bottom:0;color:#8e908c}li.L0,li.L1,li.L2,li.L3,li.L4,li.L5,li.L6,li.L7,li.L8,li.L9{padding-left:1em;background-color:#fff;list-style-type:decimal!important;}@media screen{.str{color:#718c00}.kwd{color:#8959a8}.com{color:#8e908c}.typ{color:#4271ae}.lit{color:#f5871f}.pun{color:#4d4d4c}.opn{color:#4d4d4c}.clo{color:#4d4d4c}.tag{color:#c82829}.atn{color:#f5871f}.atv{color:#3e999f}.dec{color:#f5871f}.var{color:#c82829}.fun{color:#4271ae}} /*下面是我设置背景色,字体大小和字体*/ .cnblogs-markdown code{ background:#fff!important; } .cnblogs_code,.cnblogs_code span,.cnblogs-markdown .hljs{ font-size:16px!important; } .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter table, .syntaxhighlighter table td, .syntaxhighlighter table tr, .syntaxhighlighter table tbody, .syntaxhighlighter table thead, .syntaxhighlighter table caption, .syntaxhighlighter textarea { font-size: 16px!important; } .cnblogs_code, .cnblogs_code span, .cnblogs-markdown .hljs{ font-family:consolas, "Source Code Pro", monaco, monospace !important; } //以上是代码高亮 /* 文字特效 */