EOJ 1113 裝箱問題

2022-09-04 05:27:05 字數 580 閱讀 4517

有乙個箱子容量為 v (正整數,0≤v≤20000),同時有 n 個物品(0

輸入有多組測試資料,第一行乙個正整數 v, 表示箱子的容量

第二行乙個資料 n 表示物品個數。

第三行有 n 個資料,描述每個物品的體積

每個輸出佔一行,輸出箱子最後剩下的最小體積

1 #include 2

int max(int a,int b)

3int w[31

],v,n;

4int

main()5;

1112

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

13for(int j=v;j>=w[i];j--)

14 f[j]=max(f[j],f[j-w[i]]+w[i]);

15 printf("

%d\n

",v-f[v]);16}

17return0;

18 }

動態規劃基礎題,其中,每個物品的**即為大小,大小即為**(你在說什麼),剩下最小體積,就是使**(體積)盡可能大。簡單地套個模板即可。

1113 眾數問題

題目描述 所謂眾數,就是對於給定的含有n個元素的多重集合,每個元素在s 現次數最多的成為該元素的重數,多重集合s重的重數最大的元素成為眾數。例如 s 則多重集s的眾數是2,其重數為3。現在你的任務是 對於給定的由m個自然數組成的多重集s,計算出s的眾數及其重數。輸入第一行為n,表示測試資料組數。n ...

問題A 裝箱問題

思路 思路 根據演算法筆記上01揹包問題的一維形式改編,就僅僅是把每件物品的價值改為1,再未做其他修改,後來發現不行 const int maxn 1001 int dp maxn int w maxn int main for int i 0 i參照別人的答案,進行的思考 首先,狀態轉移方程 dp...

Codeup 問題 A 裝箱問題

問題描述 有乙個箱子的容量為v v為正整數,且滿足0 v 20000 同時有n件物品 0的體積值為正整數。要求從n件物品中,選取若干裝入箱內,使箱子的剩餘空間最小。輸入 1行整數,第1個數表示箱子的容量,第2個數表示有n件物品,後面n個數分別表示這n件 物品各自的體積。輸出 1個整數,表示箱子剩餘空...