●前言
第1章 求解AdHoc類問題的編程實驗
1.1 機理分析法的實驗範例
1.2 統計分析法的實驗範例
1.3 相關題庫
第2章 模擬法的編程實驗
2.1 直敘式模擬的實驗範例
2.2 篩選法模擬的實驗範例
2.3 構造法模擬的實驗範例
2.4 相關題庫
第3章 數論的編程實驗
3.1 素數運算的實驗範例
3.1.1 使用篩法生成素數
3.1.2 測試大素數
3.2 求解不定方程和同餘的實驗範例
3.2.1 計算優選公約數和不定方程
3.2.2 計算同餘方程和同餘方程組
3.2.3 計算多項式同餘方程
3.3 特殊的同餘式的實驗範例
3.3.1 威爾遜定理和費馬小定理
3.3.2 偽素數
3.3.3 歐拉定理
3.4 積性函數的實驗範例
3.4.1 歐拉φ函數φ(n)
3.4.2 莫比鳥斯函數μ(n)
3.4.3 接近數和梅森素數
3.5 高斯素數的實驗範例
3.6 相關題庫
第4章 組合分析的編程實驗
4.1 生成排列的實驗範例
4.1.1 按字典序思想生成下一個排列
4.1.2 按字典序思想生成所有排列
4.2 排列組合計數的實驗範例
4.2.1 一般的排列組合計數公式
4.2.2 兩種特殊的排列組合計數公式
4.2.3 多重集的排列數和組合數
4.3 鴿籠原理與容斥原理的實驗範例
4.3.1 利用鴿籠原理求解存在性問題
4.3.2 容斥原理應用實驗
4.3.3 Ramsey定理的應用
4.4 Polya計數公式的實驗範例
4.5 生成函數與遞推關繫的實驗範例
4.5.1 冪級數型生成函數
4.5.2 指數型生成函數
4.5.3 遞推關繫
4.6 快速傅裡葉變換的實驗範例
4.7 相關題庫
第5章 貪心法的編程實驗
5.1 體驗貪心法內涵的實驗範例
5.1.1 貪心法的經典問題
5.1.2 體驗貪心法內涵
5.2 利用數據有序化進行貪心選擇的實驗範例
5.3 在綜合性的P類問題中使用貪心法的實驗範例
5.4 相關題庫
第6章 動態規劃方法的編程實驗
6.1 線性DP的實驗範例
6.1.1 初步體驗線性DP問題
6.1.2 子集和問題
6.1.3 公共子序列問題
6.1.4 遞增子序列問題
6.2.1 背包問題
6.2.1 基本的0-1背包問題
6.2.2 接近背包
6.2.3 多重背包
6.2.4 混合背包
6.2.5 二維背包
6.2.6 分組背包
6.2.7 有依賴的背包
6.3 樹形DP的實驗範例
6.4 狀態壓縮DP的實驗範例
6.5 單調優化1D/1DDP的實驗範例
6.5.1 經典模型1:利用決策代價函數w的單調性優化
6.5.2 經典模型2:利用決策區間下界的單調性優化
6.5.3 經典模型3:利用很優決策點的凸性優化
6.6 相關題庫
第7章 高級數據結構的編程實驗
7.1 後綴數組的實驗範例
7.1.1 使用倍增算法計算名次數組和後綴數組
7.1.2 計算公共前綴
7.1.3 後綴數組的應用
7.2 線段樹的實驗範例
7.2.1 線段樹的基本概念和基本操作
7.2.2 線段樹單點更新的維護
7.2.3 線段樹子區間更新的維護
7.3 處理特殊圖的實驗範例
7.3.1 計算歐拉圖
7.3.2 計算哈密頓圖
7.3.3 計算優選獨立集
7.3.4 計算割點、橋和雙連通分支
7.4 相關題庫
第8章 計算幾何的編程實驗
8.1 點線面運算的實驗範例
8.1.1 計算點積和叉積
8.1.2 計算線段交
8.1.3 利用歐拉公式計算多面體
8.2 利用掃描線算法計算矩形的並的面積的實驗範例
8.2.1 沿垂直方向計算矩形的並面積
8.2.2 沿水平方向計算矩形的並面積
8.3 計算半平面交的實驗範例
8.3.1 計算半平面交的聯機算法
8.3.2 利用極角計算半平面交的算法
8.4 計算凸包和旋轉卡殼的實驗範例
8.4.1 計算凸包
8.4.2 旋轉卡殼實驗
8.5 相關題庫
《算法設計編程實驗(第2版)》基於作者20餘年來總結的編程知識體繫和行之有效的編程能力訓練方法,以ACM-ICPC、IOI等各類大型程序設計競賽的經典試題為素材編寫而成,通過啟發式、案例化的教學,繫統、全面地培養讀者編程解決問題的能力。
《算法設計編程實驗(第2版)》不僅可以作為ACM-ICPC、IOI等程序設計競賽的訓練教程,亦可作為高校程序設計相關課程的實踐教材以及對編程感興趣的讀者的自學讀物。
《算法設計編程實驗(第2版)》特色:
《算法設計編程實驗(第2版)》從ACM-ICPC、IOI等各類國內外程序設計競賽中精選300餘道典型賽題,並歸為AdHoc、模擬、數論、組合分析、貪心、動態規劃、高級數據結構、計算幾何八類,使讀者掌握各類經典問題的思考方法和解題策略。
《算法設計編程實驗(第2版)》將150餘道試題作為範例試題,每道試題不僅有詳盡的試等