Greedy
and
Dynamic Programming

前情提要

講師不會資訊

演算法的本質就是數學歸納法

—《演算法觀點的圖論》

Greedy

只考慮當下最好的選擇

  • Greedy需要證明!
  • 證明不會比任何其他方法更差

數奧題

數奧題

Greedy不是最佳解的例子

實作題目

動態規劃

適用情況

  • 重疊子問題
  • 最佳子結構
  • 無後效性

一些水題

區間DP

經典問題

最大連續和

Subtitle

dp[i]=a[i]+max(dp[i-1],0)

  • Bullet One
  • Bullet Two
  • Bullet Three

最長公共子序列(LCS)

Subtitle

最長遞增子序列(LIS)

背包問題

  • dp[i][j] 代表考慮了前i個東西,總重量不大於j時的最大價值
  • dp[i][j]=max(dp[i][j], dp[i1][ja[i]]+p[i])
  • Bullet One
  • Bullet Two
  • Bullet Three

deck

By Name No

deck

  • 551