第三章作業

2022-07-12 04:48:09 字數 674 閱讀 9236

單調遞增最長子序列 

設計乙個o(n2)時間的演算法,找出由n個數組成的序列的最長單調遞增子串行。

輸入有兩行: 第一行:n,代表要輸入的數列的個數 第二行:n個數,數字之間用空格格開

最長單調遞增子串行的長度

5

1 3 5 2 9

輸出

4

1.1 根據最優子結構性質,列出遞迴方程式

dp[i]=max(dp[j],dp[i]-1)+1;

1.2 給出填表法中表的維度、填表範圍和填表順序。

表的維度是1,填表範圍為[0,n],填表順序為從左往右。

1.3 分析該演算法的時間和空間複雜度

因為有兩重迴圈,所以空間複雜度為o(n),時間複雜度為o(n²)。

2. 你對動態規劃演算法的理解

動態規劃思想是將問題分解為多個子問題,通過求解子問題來得到最終答案,而動態規劃的關鍵和分治演算法一樣在於想到分解問題的最簡便的方法,然後通過填表,避免了重複計算的問題,最後自下而上求出最優解。

3. 說明結對程式設計情況

我向搭檔請教了很多,有不會的就會一起討論,最後成功寫出了**

第三章作業

1.完成課本每乙個程式設計題。要求先畫出流程演算法圖或n s圖,然後程式設計實現,有可能的話使用兩種以上方法 2.程式設計求 百錢百雞 問題。雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁 雞母 雞雛各幾何?3.程式設計輸入乙個整數,計算它是幾位數字,分別輸出每一位數字,並輸出各個數...

第三章作業

第三章作業 習題5,求e的近似值 求自然對數e的近似值 includeusing namespace std int n return a int main cout 習題6 求圓周率 求圓周率的近似值 include includeusing namespace std int main cout...

第三章作業

第三章 最簡單的c程式設計 順序程式設計 例3.1 有人用溫度計測量出用華氏法表示的溫度 如64 f 今要求把它轉換為以攝氏法表示的溫度 如17.8 c 例 3.2 計算存款利息。有1000元,想存一年。有3種方法可選 1 活期,年利率為r1 2 一年期定期,年利率為r2 3 存兩次半年定期,年利率...