luogu P1417 烹調方案

2021-10-03 18:41:01 字數 1400 閱讀 9223

由於你的幫助,火星只遭受了最小的損失。但gw懶得重建家園了,就造了一艘飛船飛向遙遠的earth星。不過飛船飛到一半,gw發現了乙個很嚴重的問題:肚子餓了~

gw還是會做飯的,於是拿出了儲藏的食物準備填飽肚子。gw希望能在t時間內做出最美味的食物,但是這些食物美味程度的計算方式比較奇葩,於是絕望的gw只好求助於你了。

一共有n件食材,每件食材有三個屬性,ai,bi和ci,如果在t時刻完成第i樣食材則得到ai - t×b

it \times bi

t×bi

的美味指數,用第i件食材做飯要花去ci的時間。

眾所周知,gw的廚藝不怎麼樣,所以他需要你設計烹調方案使得美味指數最大。

第一行是兩個正整數t和n,表示到達地球所需時間和食材個數。

下面一行n個整數,ai

下面一行n個整數,bi

下面一行n個整數,ci

輸出最大美味指數

74 1

5022

47

這道題本來是一道標準的01揹包模板題。但是由於價值會隨著時間的往後推移而逐漸變小。所以在用01揹包模型之前要先排序。

由於價值是ai - t×b

it \times bi

t×bi

,所以想讓價值盡量大,就要讓t×b

it \times bi

t×bi

盡量小,所以就以t×b

it \times bi

t×bi

從小到大排就可以了。注意:這裡的 t就是做當前食物所要花費的時間。

#include

#include

#define ll long long

//注意要開long long

using namespace std;

const

int max =50+

5;ll v[max]

, t, n, f[

100005];

struct node d[max]

;struct cmpfunctor };

intmain()

printf

("%lld"

, ans)

;return0;

}

luogu P1417 烹調方案

由於你的幫助,火星只遭受了最小的損失。但gw懶得重建家園了,就造了一艘飛船飛向遙遠的earth星。不過飛船飛到一半,gw發現了乙個很嚴重的問題 肚子餓了 gw還是會做飯的,於是拿出了儲藏的食物準備填飽肚子。gw希望能在t時間內做出最美味的食物,但是這些食物美味程度的計算方式比較奇葩,於是絕望的gw只...

洛谷1417 烹調方案

洛谷1417 烹調方案 題目背景 由於你的幫助,火星只遭受了最小的損失。但gw懶得重建家園了,就造了一艘飛船飛向遙遠的earth星。不過飛船飛到一半,gw發現了乙個很嚴重的問題 肚子餓了 gw還是會做飯的,於是拿出了儲藏的食物準備填飽肚子。gw希望能在t時間內做出最美味的食物,但是這些食物美味程度的...

P1417 烹調方案

p1417 烹調方案 題目提供者tinylic 標籤動態規劃 難度普及 提高 題目背景 由於你的幫助,火星只遭受了最小的損失。但gw懶得重建家園了,就造了一艘飛船飛向遙遠的earth星。不過飛船飛到一半,gw發現了乙個很嚴重的問題 肚子餓了 gw還是會做飯的,於是拿出了儲藏的食物準備填飽肚子。gw希...