一看到這道題就是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只...