作為一道藍色的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時所...