有乙個箱子容量為 v (正整數,0≤v≤20000),同時有 n 個物品(0
輸入有多組測試資料,第一行乙個正整數 v, 表示箱子的容量
第二行乙個資料 n 表示物品個數。
第三行有 n 個資料,描述每個物品的體積
每個輸出佔一行,輸出箱子最後剩下的最小體積
1 #include 2int 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個整數,表示箱子剩餘空...