極客時間 演算法訓練營 第五周總結

2021-10-01 04:22:40 字數 561 閱讀 6115

dp 三部曲:

什麼樣的問題可以用動態規劃解決?

「乙個模型三個特徵」:

兩種動態規劃解題思路總結

狀態轉移表法

狀態轉移方程法

貪心、分治、 回溯、 動態規劃這四種演算法思想又有什麼區別和聯絡?

貪心、回溯、 動態規劃可以歸為一類:三個演算法解決問題的模型, 都可以抽象成多階段決策最優解模型

分治單獨可以作為一類:分治演算法解決的問題儘管一部分也是最優解問題, 但是, 大部分都不能抽象成多階段決策模型。

回溯:演算法是個「萬金油」。 基本上能用動態規劃、 貪心解決的問題, 都可以用回溯演算法解決。 回溯演算法相當於窮舉搜尋。窮舉所有的情況, 然後對比得到最優解。

動態規劃解決的問題, 需要滿足三個特徵, 最優子結構、無後效性、重複子問題。

動態規劃和分治的區別:在重複子問題這一點上,分治演算法要求分割成的子問題,不能有重複子問題, 而動態規劃正好相反, 動態規劃之所以高效, 就是因為回溯演算法實現中存在大量的重複子問題。

貪心法實際上是動態規劃演算法的一種特殊情況。通過區域性最優的選擇, 能產生全域性的最優選擇。

訓練營第五天

一 分之語句 1.if 2.switch switch switch特點 break,成立跳出否則繼續 case後的value值型別必須和switch引數型別一致 引數可以是byte short int char string if switch區別 if可以做範圍判斷,也可以等值判斷 switch...

2019牛客暑假多校訓練營(第五場)

矩陣快速冪,a n,n特別大,想到求某數sum sum 10 s i 0 可以把n一位一位拆開,ans ans 10 st s i 0 指數相加所以分開相乘 十進位制優化類似快速冪!includeusing namespace std typedef long long ll const ll ma...

2020牛客暑期多校訓練營(第五場)

總結 f題添老師一發ac,i 題起初不會做在想怎麼化簡那個式子,後來就直接畫出了最優的圖,然後猜了一發2 3過了。ef 一級目錄 一級目錄 一級目錄 乙個包括n個音符的陣列,音符按下標1 n排列,表示音符由低到高。有兩個操作 drop 2 將第二高的音符移到最低的位置 即將倒數第二個移到第乙個。in...