洛谷 P1047 裝箱問題 01揹包

2021-08-25 02:56:51 字數 788 閱讀 7997

有乙個箱子容量為 vv

v (正整數, 0≤v≤200000 \le v \le 200000≤

v≤20

000 ),同時有 nn

n 個物品( 0

030,每個物品有乙個體積(正整數)。

要求 nn

n 個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。

輸入格式:111

個整數,表示箱子容量111

個整數,表示有 nn

n 個物品

接下來 nn

n 行,分別表示這 nn

n 個物品的各自體積

輸出格式:111

個整數,表示箱子剩餘空間。

輸入樣例#1:

2468

31279

7

輸出樣例#1:

0

noip2001普及組 第4題

01揹包基礎問題w−

dp[w

] w−d

p[w]

就是答案

#include

using

namespace

std;

const

int maxn=20000+7;

int dp[maxn];

int v[50],n,w;

int main()

return

0;}

P1047 裝箱問題

有乙個箱子容量為vvv 正整數,0 v 200000 le v le 200000 v 20000 同時有nnn個物品 0要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。解法 動態規劃 水題 先求解狀態轉移方程 對於每乙個物體,都有兩種狀態 裝 與不裝 那麼,對於任意重量m的最大價值 f...

洛谷p1047題解

題目 題目描述 某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸l的位置,另一端在ll的位置 數軸上的每個整數點,即0,1,2,l0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點...

洛谷p1047樹狀陣列

看到有樹狀陣列的解法就以為是用區間更新區間查詢做的,結果怎麼都想不到怎麼樣來實現樹最多割一次。看了一下別人的題解,才頓悟 不是題目有區間更新區間查詢就必須維護乙個區間更區間查的樹狀陣列。這道題應該用區間更單點查的樹狀陣列。太不靈活了 需要注意的有兩點吧 1,樹狀陣列的最低下標只能是1,不能是0,這道...