發表於2024-12-16
正版 第二2版 算法競賽入門經典+算法競賽入門經典.訓練指南+習題與解答 劉汝佳 NOIP pdf epub mobi txt 電子書 下載
算法競賽入門經典(第2版)(算法藝術與信息學競賽)
作者:劉汝佳 編著齣版社:清華大學齣版社齣版時間:2014年06月
定價¥49.80
ISBN:9787302356288
算法競賽入門經典——訓練指南(算法藝術與信息學競賽)
作者:劉汝佳,陳鋒 編著齣版社:清華大學齣版社齣版時間:2012年10月
定價¥52.80
ISBN:9787302291077
算法競賽入門經典:習題與解答
齣版社: 清華大學齣版社; 第1版 (2018年1月1日)
叢書名: 算法藝術與信息學競賽
開本: 16
ISBN: 9787302476580
條形碼: 9787302476580
品牌: 清華大學齣版社
定價:69.80
如果你是一名程序員,如果你參加NOIP、NOI、ACM/ICPC競賽,隻要你對算法感興趣,那就來吧!就是這本被*多程序員所喜愛、被大量學校廣泛作為教材的算法競賽經典之作!
算法競賽入門經典一書全新改版,頁碼翻倍,奇葩?非也,這是因為:
*版內容太少,讓人感覺意猶未盡。
有些內容有點過時,需要與時俱進。
C 的介紹太少,例題太少,學有餘力的同學在入門完之後有些迷茫。
此次改版就是針對這些不足,所以很讓人期待!
本書是一本算法競賽的入門與提高教材,把C/C 語言、算法和解題有機地結閤在一起,淡化理論,注重學習方法和實踐技巧。全書內容分為12章,包括程序設計入門、循環結構程序設計、數組和字符串、函數和遞歸、C 與STL入門、數據結構基礎、暴力求解法、高效算法設計、動態規劃初步、數學概念與方法、圖論模型與算法、高級專題等內容,覆蓋瞭算法競賽入門和提高所需的主要知識點,並含有大量例題和習題。書中的代碼規範、簡潔、易懂,不僅能幫助讀者理解算法原理,還能教會讀者很多實用的編程技巧;書中包含的各種開發、測試和調試技巧也是傳統的語言、算法類書籍中難以見到的。
本書可作為全國青少年信息學奧林匹剋聯賽(NOIP)復賽教材、全國青少年信息學奧林匹剋競賽(NOI)和ACM國際大學生程序設計競賽(ACM/ICPC)的訓練資料,也可作為IT工程師與科研人員的參考用書。
本書是《算法競賽入門經典》的重要補充,旨在補充原書中沒有涉及或者講解得不夠詳細的內容,從而構建一個較完整的知識體係,並且用大量有針對性的題目,讓抽象復雜的算法和數學具體化、實用化。
本書共6章,分彆為算法設計基礎、數學基礎、實用數據結構、幾何問題、圖論算法與模型和更多算法專題,全書通過近200道例題深入淺齣地介紹瞭上述領域的各個知識點、經典思維方式以及程序實現的常見方法和技巧,並在章末和附錄中給齣瞭豐富的分類習題,供讀者查漏補缺和強化學習效果。
本書題目多選自近年來ACM/ICPC區域賽和總決賽真題,內容全麵,信息量大,覆蓋瞭常見算法競賽中的大多數細分知識點。書中還給齣瞭所有重要的經典算法的完整程序,以及重要例題的核心代碼,既適閤選手自學,也方便教練組織學習和訓練。
第1部分 語言篇
第1章 程序設計入門...
1.1 算術錶達式
1.2 變量及其輸入
1.3 順序結構程序設計
1.4 分支結構程序設計
1.5 注解與習題
1.5.1 C語言、C99、C11及其他
1.5.2 數據類型與輸入格式
1.5.3 習題
1.5.4 小結
第2章 循環結構程序設計...
2.1 for循環
2.2 while循環和do-while循環
2.3 循環的代價
2.4 算法競賽中的輸入輸齣框架
2.5 注解與習題
2.5.1 習題
2.5.2 小結
第3章 數組和字符串...
3.1 數組
3.2 字符數組
3.3 競賽題目選講
3.4 注解與習題
3.4.1 進位製與整數錶示
3.4.2 思考題
3.4.3 黑盒測試和在綫評測係統
3.4.4 例題一覽與習題
3.4.5 小結
第4章 函數和遞歸...
4.1 自定義函數和結構體
4.2 函數調用與參數傳遞
4.2.1 形參與實參
4.2.2 調用棧
4.2.3 用指針作參數
4.2.4 初學者易犯的錯誤
4.2.5 數組作為參數和返迴值
4.2.6 把函數作為函數的參數
4.3 遞歸
4.3.1 遞歸定義
4.3.2 遞歸函數
4.3.3 C語言對遞歸的支持
4.3.4 段錯誤與棧溢齣
4.4 競賽題目選講
4.5 注解與習題
4.5.1 頭文件、副作用及其他
4.5.2 例題一覽和習題
4.5.3 小結
第5章 C 與STL入門...
5.1 從C到C
5.1.1 C 版框架
5.1.2 引用
5.1.3 字符串
5.1.4 再談結構體
5.1.5 模闆
5.2 STL初步
5.2.1 排序與檢索
5.2.2 不定長數組:vector
5.2.3 集閤:set
5.2.4 映射:map
5.2.5 棧、隊列與優先隊列
5.2.6 測試STL
5.3 應用:大整數類
5.3.1 大整數類BigInteger
5.3.2 四則運算
5.3.3 比較運算符
5.4 競賽題目舉例
5.5 習題
第2部分 基礎篇
第6章 數據結構基礎...
6.1 再談棧和隊列
6.2 鏈錶
6.3 樹和二叉樹
6.3.1 二叉樹的編號
6.3.2 二叉樹的層次遍曆
6.3.3 二叉樹的遞歸遍曆
6.3.4 非二叉樹
6.4 圖
6.4.1 用DFS求連通塊
6.4.2 用BFS求短路
6.4.3 拓撲排序
6.4.4 歐拉迴路
6.5 競賽題目選講
6.6 訓練參考
第7章 暴力求解法...
7.1 簡單枚舉
7.2 枚舉排列
7.2.1 生成1~n的排列
7.2.2 生成可重集的排列
7.2.3 解答樹
7.2.4 下一個排列
7.3 子集生成
7.3.1 增量構造法
7.3.2 位嚮量法
7.3.3 二進製法
7.4 迴溯法
7.4.1 八皇後問題
7.4.2 其他應用舉例
7.5 路徑尋找問題
7.6 迭代加深搜索
7.7 競賽題目選講
7.8 訓練參考
第3部分 競賽篇
第8章 高效算法設計...
8.1 算法分析初步
8.1.1 漸進時間復雜度
8.1.2 上界分析
8.1.3 分治法
8.1.4 正確對待算法分析結果
8.2 再談排序與檢索
8.2.1 歸並排序
8.2.2 快速排序
8.2.3 二分查找
8.3 遞歸與分治
8.4 貪心法
8.4.1 背包相關問題
8.4.2 區間相關問題
8.4.3 Huffman編碼
8.5 算法設計與優化策略
8.6 競賽題目選講
8.7 訓練參考
第9章 動態規劃初步...
9.1 數字三角形
9.1.1 問題描述與狀態定義
9.1.2 記憶化搜索與遞推
9.2 DAG上的動態規劃
9.2.1 DAG模型
9.2.2 長路及其字典序
9.2.3 固定終點的長路和短路
9.2.4 小結與應用舉例
9.3 多階段決策問題
9.3.1 多段圖的短路
9.3.2 0-1背包問題
9.4 更多經典模型
9.4.1 綫性結構上的動態規劃
9.4.2 樹上的動態規劃
9.4.3 復雜狀態的動態規劃
9.5 競賽題目選講
9.6 訓練參考
第10章 數學概念與方法...
10.1 數論初步
10.1.1 歐幾裏德算法和分解定理
10.1.2 Eratosthenes篩法
10.1.3 擴展歐幾裏德算法
10.1.4 同餘與模算術
10.1.5 應用舉例
10.2 計數與概率基礎
10.2.1 楊輝三角與二項式定理
10.2.2 數論中的計數問題
10.2.3 編碼與解碼
10.2.4 離散概率初步
10.3 其他數學專題
10.3.1 遞推
10.3.2 數學期望
10.3.3 連續概率
10.4 競賽題目選講
10.5 訓練參考
第11章 圖論模型與算法...
11.1 再談樹
11.1.1 無根樹轉有根樹
11.1.2 錶達式樹
11.2 小生成樹
11.2.1 Kruskal算法
11.2.2 競賽題目選解
11.3 短路問題
11.3.1 Dijkstra算法
11.3.2 Bellman-Ford算法
11.3.3 Floyd算法
11.3.4 競賽題目選講
11.4 網絡流初步
11.4.1 大流問題
11.4.2 增廣路算法
11.4.3 小割大流定理
11.4.4 小費用大流問題
11.4.5 應用舉例
11.5 競賽題目選講
11.6 訓練參考
11.7 總結與展望
第12章 高級專題...
12.1 知識點選講
12.1.1 自動機
12.1.2 樹的經典問題和方法
12.1.3 可持久化數據結構
12.1.4 多邊形的布爾運算
12.2 難題選解
12.2.1 數據結構
12.2.2 網絡流
12.2.3 數學
12.2.4 幾何
12.2.5 非完美算法
12.2.6 雜題選講
12.3 小結與習題
附錄A 開發環境與方法...
A.1 命令行
A.1.1 文件係統
A.1.2 進程
A.1.3 程序的執行
A.1.4 重定嚮和管道
A.1.5 常見命令
A.2 操作係統腳本編程入門
A.2.1 Windows下的批處理
A.2.2 Linux下的Bash腳本
A.2.3 再談隨機數
A.3 編譯器和調試器
A.3.1 gcc的安裝和測試
A.3.2 常見編譯選項
A.3.3 gdb簡介
A.3.4 gdb的高級功能
A.4 淺談IDE
主要參考書目
序
前言
閱讀說明
目錄頁
第1章 算法設計基礎
1.1 思維的體操
1.2 問題求解常見策略
1.3 高效算法設計舉例
1.4 動態規劃專題
1.5 小結與習題
第2章 數學基礎
2.1 基本計數方法
2.2 遞推關係
2.3 數論
2.3.1 基本概念
2.3.2 模方程
2.4 組閤遊戲
2.5 概率與數學期望
2.6 置換及其應用
2.7 矩陣和綫性方程組
2.8 數值方法簡介
2.9 小結與習題
第3章 實用數據結構
3.1 基礎數據結構迴顧
3.1.1 抽象數據類型(ADT)
3.1.2 優先隊列
3.1.3 並查集
3.2 區間信息的維護與查詢
3.2.1 二叉索引樹(樹狀數組)
3.2.2 RMQ問題
3.2.3 綫段樹(1):點修改
3.2.4 綫段樹(2):區間修改
3.3 字符串(1)
3.3.1 Trie
3.3.2 KMP算法
3.3.3 Aho-Corasick自動機
3.4 字符串(2)
3.4.1 後綴數組
3.4.2 長公共前綴(LCP)
3.4.3 基於哈希值的LCP算法
3.5 排序二叉樹
3.5.1 基本概念
3.5.2 用Treap實現名次樹
3.5.3 用伸展樹實現可分裂與閤並的序列
3.6小結與習題
第4章 幾何問題
4.1 二維幾何基礎
4.1.1 基本運算
4.1.2 點和直綫
4.1.3 多邊形
4.1.4 例題選講
4.1.5 二維幾何小結
4.2 與圓和球有關的計算問題
4.2.1 圓的相關計算
4.2.2 球麵相關問題
4.3 二維幾何常用算法
4.3.1 點在多邊形內判定
4.3.2 凸包
4.3.3 半平麵交
4.3.4 平麵區域
4.4 三維幾何基礎
4.4.1 三維點積
4.4.2 三維叉積
4.4.3 三維凸包
4.4.4 例題選講
4.4.5 三維幾何小結
4.5 小結與習題
第5章 圖論算法與模型
5.1 基礎題目選講
5.2 深度優先遍曆
5.2.1 無嚮圖的割頂和橋
5.2.2 無嚮圖的雙連通分量
5.2.3 有嚮圖的強連通分量
5.2.4 2-SAT問題
5.3 短路問題
5.3.1 再談Dijkstra算法
5.3.2 再談Bellman-Ford算法
5.3.3 例題選講
5.4 生成樹相關問題
5.5 二分圖匹配
5.5.1 二分圖大匹配
5.5.2 二分圖完美匹配
5.5.3 穩定婚姻問題
5.5.4 常見模型
5.6 網絡流問題
5.6.1 短增廣路算法
5.6.2 小費用大流算法
5.6.3 建模與模型變換
5.6.4 例題選講
5.7 小結與習題
第6章 更多算法專題
6.1 輪廓綫動態規劃
6.2 嵌套和分塊數據結構
6.3 暴力法專題
6.3.1 路徑尋找問題
6.3.2 對抗搜索
6.3.3 覆蓋問題和DLX算法
6.4 幾何專題
6.4.1 仿射變換與矩陣
6.4.2 離散化和掃描法
6.4.3 運動規劃
6.5 數學專題
6.5.1 小專題集錦
6.5.2 快速傅裏葉變換(FFT)
6.5.3 綫性規劃
6.6 淺談代碼設計與靜態查錯
6.6.1 簡單的Bash
6.6.2 《仙劍奇俠傳四》之的戰役
6.7 小結與習題
附錄A 訓練指南:使用UVa/LA題庫
A.1 UVa在綫比賽推薦
A.2 LA套題(ACM/ICPC真題)推薦
A.3 UVa在綫比賽單題推薦
附錄B Java、C#和Python語言簡介
B.1 Java
B.2 C#
B.3 Python
主要參考書目
正版 第二2版 算法競賽入門經典+算法競賽入門經典.訓練指南+習題與解答 劉汝佳 NOIP pdf epub mobi txt 電子書 下載