洛谷 P1417 烹調方案 排序 01揹包

2021-10-02 14:44:18 字數 938 閱讀 2195

洛谷 p1417 烹調方案 排序+01揹包

那麼首先裝物品y所獲得的價值為:

a[y]-(p+c[y])*b[y]+a[x]-(p+c[y]+c[x])*b[x] ②

對這兩個式子化簡,得到①>②的條件是c[x]*b[y]

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define max 55

#define inf 0x3f3f3f3f

typedef

long

long ll;

using namespace std;

struct node

}t[max]

;int n,m;

//n為物品總數,m為揹包容量

ll dp[

100005];

intmain()

for(

int i=

0;i)for

(int i=

0;i)sort

(t,t+n)

;//先進行排序

memset

(dp,-1

,sizeof

(dp));

//dp初始化為-1,為什麼要這樣做,要自己理解

dp[0]

=0;for

(int i=

0;i} ll maxl=0;

for(

int i=

0;i<=m;i++

)printf

("%lld"

,maxl)

;return0;

}

洛谷P1417 烹調方案

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

洛谷P1417 烹調方案

這道題不同於普通的01揹包,不同的先選擇的做菜策略會對之後產生不同的影響,即不滿足 無後效性 但是,考慮一種選擇策略,假設有兩個先後做的菜i和j,交換他們的順序會產生什麼影響呢?假設ij之前的時間為t 先i後j a i t c i b i a j t c i c j b j 先j後i a j t c...

洛谷 P1417烹調方案

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