由於你的幫助,火星只遭受了最小的損失。但gw懶得重建家園了,就造了一艘飛船飛向遙遠的earth星。不過飛船飛到一半,gw發現了乙個很嚴重的問題:肚子餓了~gw還是會做飯的,於是拿出了儲藏的食物準備填飽肚子。gw希望能在t時間內做出最美味的食物,但是這些食物美味程度的計算方式比較奇葩,於是絕望的gw只好求助於你了。
一共有n件食材,每件食材有三個屬性,ai,bi和ci,如果在t時刻完成第i樣食材則得到ai - t×bit \times bi
t×bi
的美味指數,用第i件食材做飯要花去ci的時間。眾所周知,gw的廚藝不怎麼樣,所以他需要你設計烹調方案使得美味指數最大。
第一行是兩個正整數t和n,表示到達地球所需時間和食材個數。下面一行n個整數,ai
下面一行n個整數,bi
下面一行n個整數,ci
輸出最大美味指數
74 15022
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希...