洛谷 1156 垃圾陷阱

2022-03-04 09:08:25 字數 955 閱讀 2917

作為一道藍色的dp神題,它成功把我卡了兩個小時。

這個題對我來說確實有些困難,本人太菜了,對dp毫無感覺。

後來發現這是個揹包,要麼吃要麼放,前提是餓不死。

於是:ac**:

#include #include 

#include

#include

using

namespace

std;

inline

intread()

int m, n, dp[105][3000

];struct

node

}rbs[

102];

intmain()

if (dp[i][j] >= rbs[i + 1].t -rbs[i].t)

dp[i + 1][j + rbs[i + 1].h] = dp[i][j] - rbs[i + 1].t +rbs[i].t,

dp[i + 1][j] = max(dp[i + 1][j], dp[i][j] + rbs[i + 1].f - rbs[i + 1].t +rbs[i].t);

}int sum = 0, mogic = 10

;

for (int i = 1; i <= n; ++i)

if (mogic >= rbs[i].t - rbs[i - 1

].t)

mogic -= rbs[i].t - rbs[i - 1].t, mogic += rbs[i].f, sum += rbs[i].t - rbs[i - 1

].t;

else

printf("%d

", sum +mogic);

return0;

}

洛谷 P1156 垃圾陷阱

卡門 農夫約翰極其珍視的一條holsteins奶牛 已經落了到 垃圾井 中。垃圾井 是農夫們扔垃圾的地方,它的深度為d 2 d 100 英呎。卡門想把垃圾堆起來,等到堆得與井同樣高時,她就能逃出井外了。另外,卡門可以通過吃一些垃圾來維持自己的生命。每個垃圾都可以用來吃或堆放,並且堆放垃圾不用花費卡門...

洛谷P1156 垃圾陷阱

動規仍然是難關啊 卡門 農夫約翰極其珍視的一條holsteins奶牛 已經落了到 垃圾井 中。垃圾井 是農夫們扔垃圾的地方,它的深度為d 2 d 100 英呎。卡門想把垃圾堆起來,等到堆得與井同樣高時,她就能逃出井外了。另外,卡門可以通過吃一些垃圾來維持自己的生命。每個垃圾都可以用來吃或堆放,並且堆...

洛谷P1156 垃圾陷阱

這個題是乙個類似揹包問題,垃圾的高度看成物重,能增加的生命的長短看成價值,把井的高度看成揹包的大小,但和揹包不同的是,題目要求至少將這個揹包填滿,需要對 進行以下修改 開乙個結構體 記錄 a i t,a i f,a i h分別代表第i個物體的投入時間,持續生命時間和高度。設b j 表示到達高度j時所...