洛谷 P1417 烹調方案 (01揹包拓展)

2021-08-27 13:49:49 字數 830 閱讀 9469

一看到這道題就是01揹包

但是我注意到價值和當前的時間有關。

沒有想太多,直接寫,0分

然後發現輸入方式不對……

改了之後只有25分

我知道wa是因為時間會影響價值,但不知道怎麼做。

後來看了題解,發現我對01揹包理解不夠透徹

普通01揹包做下來放入物品的順序是1到n的

因為這個時候順序沒有關係,所以可以直接做

但是這道題後面放的物品價值小,所以價值有關係

所以就要提前排好序。

排序的依據就判斷相鄰兩個物品先後放的價值,

然後化簡可以推出乙個式子。

這裡其實是乙個貪心。

然後就做01揹包就好了

然後注意開long long 

#include#include#include#define rep(i, a, b) for(int i = (a); i < (b); i++)

#define _for(i, a, b) for(int i = (a); i <= (b); i++)

using namespace std;

typedef long long ll;

const int maxn = 112;

const int maxm = 112345;

ll f[maxm];

struct node

}s[maxn];

int t, n;

int main()

printf("%lld\n", ans);

return 0;

}

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

洛谷 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 ...

洛谷 P1417 烹調方案 揹包dp

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

洛谷P1417 烹調方案

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