動態規劃
基本要素:(1)最優子結構性質 (2)重疊子問題性質
步 驟:(1)找出最優解的性質,並刻畫其結構特徵
(2)遞迴地定義最優值
(3)以自底向上的方式計算最優值
(4)根據計算最優值時的資訊構造最優解
自底向上的填表方法:(1)表的維數
(2)填表範圍
(3)填表順序
【例1】矩陣連乘問題
void matixchain(int *p, int n, int **m, int **s)
}}}【動態規劃——備忘錄法】使用備忘錄方法,直接將遞迴演算法的計算時間從o(2n)降至o(n3).}
【例2】最長公共子串行
(1)計算最優解 (由於每個陣列單元的計算耗費o(1)時間,故此演算法耗時o(mn))
(2)構造最長公共子串行 (列印出序列)
【例3】最大子段和
/*需要o(mn2)計算時間和o(mn)空間*/
動態規劃演算法與分治法類似,其基本思想是將等待求解的問題分解成若干子問題,先求解子問題,再結合子問題的解得到原問題的解。不同的是,適用於動態規劃求解的問題經過分解得到的子問題往往不是獨立的,為避免大量運算,借助乙個表記錄所有已解決的子問題的答案,不管是否用得到。解決動態規劃相關問題時,應先寫出其遞迴方程,然後決定其填表方式以及順序等。
遞迴方程:
【單調遞增最長子序列】
假設d[i]為以第i個元素結尾的單調遞增最長子序列的長度,a[i]為資料值,則
d[i]=max
結對程式設計:
成也蕭何敗也蕭何。
第6章 小結
在這一章,你學習了如何為應用程式新增儲存層。一開始,使用儲存和恢復例項狀態處理函式來在會話期間儲存 activity 的例項資料,之後,學習了 sharedpreference 你可以使用它在程式的元件間儲存例項的值和使用者的設定。android 為所有的應用程式提供了完整的 sqlite rdbm...
第 3 章 基礎推薦演算法
原文 全文目錄 相關性召回 點選率排序 根本任務 匹配 匹配過程步驟 相關性召回,對使用者做360度全方位掃瞄,盡量多的描述和覆蓋使用者可能感興趣的高質量的物品 候選集融合,重點關注多樣性和相關性的均衡,召回演算法的優先順序等問題 結果排序,按照某一確定目標進行排序 業務干預 分層明確的邏輯架構,有...
第4章學習小結
第四章講的是串,陣列和廣義表,在做題過程中,逐漸發現stl中string的強大 下乙個目標,熟悉string的函式 天梯賽l1 8 估值一億的ai核心 這題也終於打出來了,心得是要盡量劃分層次,思路要清晰,嚴謹,多寫幾個判斷函式是完全沒問題的 努力習慣中.ac 原題 include include ...