01揹包
完全揹包
public
class
beibaowenti1_3_1
static
class
task
}else}}
return f[v];}
// ***************== **實現結束 ***************==
void
solve
(inputreader in, printwriter out)
out.
println
(getanswer
(n, v, t, w, _v));
}}
public
class
beibaowenti2_3_1
static
class
task
// 01揹包問題
// 對於體積為v,價值為w的物品i,要裝填到揹包體積為j的揹包中的最大價值
// d[i-1][j]表示不放物品i,只放i之前的物品時所能裝的最大價值
// d[i-1][j-v.get(i)]+w.get(i) 表示放入物品i後,恰好裝滿揹包,此時由沒放物品i,揹包體積為當前體積減去物品i體積的最大價值揹包加上物品i的價值
// 兩者中較大者即為最大價值
for(
int j = v.
get(i)
; j <=
5000
; j++)}
// 丟棄的x之後的最大價值揹包
// 與上面的過程相反,上面是依照物品正序求最大揹包
// 此處依照物品順序倒序求最大揹包
// 計算字尾揹包
for(
int i = n; i >=
1; i--
)for
(int j = v.
get(i)
; j <=
5000
; j++)}
list
ans =
newarraylist
<
>()
;for
(int k =
1; k <= q; k++
) ans.
add(mx);}
return ans;
}// ***************== **實現結束 ***************==
void
solve
(inputreader in, printwriter out)
q = in.
nextint()
;for
(int i =
0; i < q;
++i)
list
ans =
getanswer
(n, w, v, q, qv, qx)
;for
(int i =
0; i < q;
++i)
out.
println
(ans.
get(i));
}}
B 習題課一
計算導論與程式設計課程要開習題課,由於教室座位有限,所以決定限制參加人數。於是規定 1 最多允許一半的班級裡的同學參加 2 可以參加的班級最多允許一半的同學參加。現請你寫一段程式來計算習題課最多可能有多少個學生參加。輸入為兩行,第一行為乙個整數n 0題課的人數的最大值。當數字為奇數時,一半指的是該數...
B 習題課一
計算導論與程式設計課程要開習題課,由於教室座位有限,所以決定限制參加人數。於是規定 1 最多允許一半的班級裡的同學參加 2 可以參加的班級最多允許一半的同學參加。現請你寫一段程式來計算習題課最多可能有多少個學生參加。輸入為兩行,第一行為乙個整數n 0題課的人數的最大值。當數字為奇數時,一半指的是該數...
2014秋C 另類習題課
課程主頁在課程資源在雲學堂 賀老師課堂 同步展示,使用的帳號請到課程主頁中檢視。每一批 班級團隊名 主講團隊成員 題目要求 計145 bit夏煥哲 林海雲 夏煥哲 曾建強 王子嶽 張衡宇 楊旭 編寫程式,輸出1 3 3 5 2b5 7 7 9.19 27 的結果計145 kalil 邵帥邵帥 趙嵩 ...