嗨大家好,我想要利用這個機會幫未來的自己蒐集並整理一些有趣的動態規劃題目,並且試著提出一些自己的心得~
動態規劃是演算法解題中一種常見的解題手段。說穿了,動態規劃就是分而治之法(Divide and Conquer) 搭配紀錄曾經算過的子問題(Memoization) 的一種技巧。至於什麼樣的題目能夠用動態規劃來解,要如何看出一道題目能否使用動態規劃,這時候就要靠大量的例子來自我鍛鍊了。
動態規劃的應用相當廣泛,在生物資訊和組合最佳化的範疇尤其深刻,舉凡路線規劃、空間裝填、序列匹配等都可以看得到動態規劃的影子。如果大家對於我分享的題目有興趣的話,也歡迎補充資料或一起討論!
今天原本想到的標題是『一目十行就是指解一道題目你只需要寫十行!』但總覺得這標題有點碼天狗的感覺呢(XD)…好久沒看到碼天狗的技術週刊了說,不知道大家都去哪了QQ...
嗨大家好,今天來跟大家討論圖論問題(Graph Theory)中常見的最短路徑演算法:Floyd-Warshall 演算法以及 Bellman-Ford 演算法...
在判斷一個大字串 Text (T[1...n]) 裡面是否有出現小字串 Pattern (P[1...m]) 的時候,就是需要使用字串匹配演算法的時間了。(或者...
今天來講講樹上的動態規劃問題吧~先來個一般的動態規劃暖身。 Exercise 40: Leetcode 337 - House Robber III 題目連結...
只要有順序關係,就可以輕巧地將題目分切成子問題,並且將子問題的狀態單純地收整起來,提升計算效率!我們來討論兩個相關的例子。 平面上雙調旅行售貨員問題 Eucli...
在賽局理論中,有一類的問題是允許所有玩家看到場面上的所有遊戲資訊的。在遊戲進行中不引入隨機變數 (a.k.a 不擲骰子) 的狀況下,這類問題叫做完全訊息賽局(G...
餓死抬頭(as title),抬頭就starving所以要round robin。就算今天再累也要來刷刷題唷,今天來寫寫機率的題目吧~ Exercise 43:...
今天來跟大家聊聊大家常見的指數級別動態規劃從哪裡把時間省下來的~ 鋪磚塊問題 2*N 鋪磚塊問題 題目是這樣的,給你一個 2*N 大小的矩形地板空間,你可以用許...
如果說,動態規劃是個穩穩地將所有可能的狀態逐一計算、集中並且化簡。那麼貪婪法(Greedy Algorithm) 就是另一個方向:通常僅考慮一小部分的狀態計算,...
今天是最後一天,很開心能夠努力寫完三十天份量的動態規劃介紹。也很感謝不吝追蹤這個系列的邦友們!當初的規劃大概是這樣的,先花個十天寫寫基本的動態規劃概念,然後中間...