[理工] 演算法

作者: mistel (Mistel)   2019-09-10 19:55:22
https://i.imgur.com/R3LFDQu.jpg
請問這題是完全背包問題嗎?
看了蠻久的還是不太懂(a)小題M個子問題跟(b)小題每次有d個選項是怎麼來的
https://i.imgur.com/StqRuub.jpg
請問遞迴程式的好處並不包含易於debug嗎?為什麼?
感謝考題版
作者: mathtsai (mathtsai)   2019-09-10 20:03:00
題目有誤i1,i2,...,id必須為非負整數才有解定義dp[k]為金額為k時,所需最少硬幣數量dp[M] = min(dp[M], dp[M-i1]+1, ... , dp[M-id]+1)dp[1]~dp[M]都必須求 所以有M個子問題每個子問題 每次有d個錢幣可以選擇easier than WHAT? 題目寫得不清不楚在幹嘛?等等我看懂了 應該是兩個要比較吧?但是這兩個程式 應該都很好debug啊= =他可能想考 Fib1的遞迴會被呼叫到好幾次的問題吧
作者: DLHZ ( )   2019-09-11 08:11:00
dp應該還是比較保險一點畫線應該是j才對
作者: ekids1234 (∵:☆星痕╭☆)   2019-09-11 11:36:00
35題的b有點看不懂,每次 d 種 : 即使幣值最高 10元,在算 M = 9 的時候也要考慮進去嗎?遞迴 debug 部分,"一般"是認為遞迴 coding 直觀但是debug 難(當初學的時候也是)
作者: mathtsai (mathtsai)   2019-09-11 15:26:00
這題不能用greedy 因為他沒用greedy property*沒有greedy property然後第45題可以用segment tree做到O(n lg n) (笑)

Links booklink

Contact Us: admin [ a t ] ucptt.com