[理工] 算法

楼主: 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