其他分享
首页 > 其他分享> > NC16671 [NOIP2006]金明的预算方案

NC16671 [NOIP2006]金明的预算方案

作者:互联网

题目

1.题目大意

2.题目分析

3.题目代码

#include <bits/stdc++.h>

using namespace std;

int n, m, v[66], p[66], q[66], g[32003], f[32003];

int main() {
    cin >> n >> m;
    for(int i=1;i<=m;i++) cin >> v[i] >> p[i] >> q[i], p[i] *= v[i];
    for(int i=1;i<=m;i++) {if(!q[i]) {
        for(int j=v[i];j<=n;j++) g[j] = f[j-v[i]] + p[i];
        for(int j=1;j<=m;j++) if(q[j]==i)
            for(int k=n;k>=v[i]+v[j];k--)
                g[k] = max(g[k], g[k-v[j]]+p[j]);
        } for(int j=1;j<=n;j++) f[j] = max(f[j], g[j]);
    } cout << f[n] << endl;
}

标签:NC16671,NOIP2006,题目,乘积,int,66,物品,金明
来源: https://www.cnblogs.com/zhangyi101/p/16688888.html