gpt4 book ai didi

c - 动态规划SPOJ问题SCUBADIV

转载 作者:太空狗 更新时间:2023-10-29 15:20:35 25 4
gpt4 key购买 nike

我正试图从 SPOJ 解决这个问题,这是一个动态规划问题,但我在可视化递归步骤时遇到了问题。我相信它类似于背包,但这里有氧气和氮气两个约束条件。

这是链接:http://www.spoj.pl/problems/SCUBADIV/

最佳答案

我认为这应该可行:

dp[i, j] = minimum weight needed such that we have i litres of oxygen and j litres 
of nitrogen

dp[0, 0] = 0 and inf everywhere else
for each read cylinder k do
for i = maxTotalOxygen down to oxygen[k] do
for j = maxTotalNitrogen down to nitrogen[k] do
dp[i, j] = min(dp[i, j], <- do not take cylinder k
dp[i - oxygen[k], j - nitrogen[k]] + weight[k]) <- take cylinder k

Answer is the minimum dp[i, j] such that i >= RequiredOxygen and j >= RequiredNitrogen.

请注意,for 循环必须从最大值向下到当前柱面的值,否则您将允许一个柱面被多次使用。

问题约束非常小,我认为这应该可行。

关于c - 动态规划SPOJ问题SCUBADIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com