加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

hdu5410(完全背包的依赖)

发布时间:2020-12-13 22:15:45 所属栏目:百科 来源:网络整理
导读:http://acm.hdu.edu.cn/showproblem.php?pid=5410 完全背包的依赖,属于树形DP #include stdio.h#include string.h#include iostream#include queue#include stackusing namespace std;#define N 1005#define INF 25000005int weight[N],price[N],r[N];int d

http://acm.hdu.edu.cn/showproblem.php?pid=5410

完全背包的依赖,属于树形DP

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <queue>
#include <stack>
using namespace std;
#define N 1005
#define INF 25000005
int weight[N],price[N],r[N];
int dp[N*2];
int main(){
    int T;scanf("%d",&T);
    while(T--){
        memset(dp,sizeof(dp));
        int M,n;scanf("%d%d",&M,&n);
        int i,j;
        for(i=0;i<n;i++) scanf("%d%d%d",&price[i],&weight[i],&r[i]);

        for(i=0;i<n;i++){
            for(j=M;j>=price[i];j--)
                dp[j]=max(dp[j],dp[j-price[i]]+weight[i]+r[i]);
            for(j=price[i];j<=M;j++)
                dp[j]=max(dp[j],dp[j-price[i]]+weight[i]);
        }
        printf("%dn",dp[M]);

    }//while
    return 0;
}//main

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读