Greedy
and
Dynamic Programming
前情提要
講師不會資訊
演算法的本質就是數學歸納法
—《演算法觀點的圖論》
Greedy
只考慮當下最好的選擇
Greedy需要證明!
證明不會比任何其他方法更差
2021 TMO P1
數奧題
2021 Taiwan TST Round 1
I.C
數奧題
Greedy不是最佳解的例子
實作題目
TIOJ
1072 -A.誰先晚餐
TIOJ
1440 - 誰買早餐
TIOJ 1861
動態規劃
適用情況
重疊子問題
最佳子結構
無後效性
一些水題
TIOJ 1288
TIOJ 1354
TIOJ 1019
TIOJ 1097
TIOJ 1924
區間DP
TIOJ 1029
經典問題
最大連續和
Subtitle
dp[i]=a[i]+max(dp[i-1],0)
Bullet One
Bullet Two
Bullet Three
最長公共子序列(
LCS)
Subtitle
最長遞增子序列(LIS)
背包問題
dp[i][j] 代表考慮了前i個東西,總重量不大於j時的
最大價值
。
d
p
[
i
]
[
j
]
=
m
a
x
(
d
p
[
i
]
[
j
]
,
d
p
[
i
−
1
]
[
j
−
a
[
i
]
]
+
p
[
i
]
)
TIOJ 1407
Bullet One
Bullet Two
Bullet Three
Made with Slides.com