P1417 烹调方案

Posted xcfxcf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1417 烹调方案相关的知识,希望对你有一定的参考价值。

链接

排序 + 01背包

为什么要排序??01背包的价值是固定的,本题还与时间有关,所以应该找一个价值最大的方案

技术图片
#include <bits/stdc++.h>

using namespace std;
#define int long long
const int maxn = 1e5 + 10;
int v,n;

struct node{
    int a,b,c;
}e[55];

int dp[maxn];
bool cmp(node d,node f){
    return f.b * d.c < d.b * f.c;
}
signed main() {
    //freopen("in","r",stdin);
    ios::sync_with_stdio(0);
    cin >> v >> n;
    for (int i = 1; i <= n; i++)
        cin >> e[i].a;
    for (int i = 1; i <= n; i++)
        cin >> e[i].b;
    for (int i = 1; i <= n; i++)
        cin >> e[i].c;
    sort(e + 1,e + 1 + n,cmp);
    int ans = 0;
    for(int i = 1;i <= n; i++){
        for(int j = v; j >= e[i].c; j--){
          dp[j] = max(dp[j],dp[j - e[i].c] + e[i].a - j * e[i].b);
          ans = max(ans,dp[j]);
        }
    }
    cout << ans << endl;
    //cout << dp[n][v] << endl;不一样
    return 0;
}
View Code

 

以上是关于P1417 烹调方案的主要内容,如果未能解决你的问题,请参考以下文章

P1417 烹调方案(思维+01背包)

P1417 烹调方案

P1417 烹调方案

P1417 烹调方案

洛谷 P1417烹调方案

luogu P1417 烹调方案