作 者:羅勇軍、郭衛斌 著
定 價:59.8
出 版 社:清華大學出版社有限公司
出版日期:2019年08月01日
頁 數:360
裝 幀:平裝
ISBN:9787302529156
本書對知識點進行了精心的剖析。很多知識點看起來復雜難解,但如果結合清晰的代碼、生動的文字、通俗的比喻、一目了然的圖解、畫龍點睛的注解,能讓人有一種豁然開朗的感覺。這也是本書寫作的目標。
●章算法競賽概述
1.1培養傑出程序員的捷徑
1.1.1編寫大量代碼
1.1.2豐富的算法知識
1.1.3計算思維和邏輯思維
1.1.4團隊合作精神
1.2算法競賽與創新能力的培養
1.3算法競賽入門
1.3.1競賽語言和訓練平臺
1.3.2判題和基本的輸入與輸出
1.3.3測試
1.3.4編碼速度
1.3.5模板
1.3.6題目分類
1.3.7代碼規範
1.4天賦與勤奮
1.5學習建議
1.6本書的特點
第2章算法復雜度
2.1計算的資源
2.2算法的定義
2.3算法的評估
第3章STL和基本數據結構
3.1容器
3.1.1vector
3.1.2棧和stack
3.1.3隊列和queue
3.1.4優先隊列和priority_queue
3.1.5鏈表和list
3.1.6set
3.1.7map
3.2sort()
3.3next_pertation()
第4章搜索技術
4.1遞歸和排列
4.2子集生成和組合問題
4.3BFS
4.3.1BFS和隊列
4.3.2八數碼問題和狀態圖搜索
4.3.3BFS與A*算法
4.3.4雙向廣搜
4.4DFS
4.4.1DFS和遞歸
4.4.2回溯與剪枝
4.4.3迭代加深搜索
4.4.4IDA*
4.5小結
第5章不錯數據結構
5.1並查集
5.2二樹
5.2.1二樹的存儲
5.2.2二樹的遍歷
5.2.3二搜索樹
5.2.4Treap樹
5.2.5Splay樹
5.3線段樹
5.3.1線段樹的概念
5.3.2點修改
5.3.3離散化
5.3.4區間修改
5.3.5線段樹習題
5.4樹狀數組
5.5小結
第6章基礎算法思想
6.1貪心法
6.1.1基本概念
6.1.2常見問題
6.1.3Huffman編碼
6.1.4模擬退火
6.1.5習題
6.2分治法
6.2.1歸並排序
6.2.2快速排序
6.3減治法
小結
第7章動態規劃
7.1基礎DP
7.1.1硬幣問題
7.1.20/1背包
7.1.3長公共子序列
7.1.4長遞增子序列
7.1.5基礎DP習題
7.2遞推與記憶化搜索
7.3區間DP
7.4樹形DP
7.5數位DP
7.6狀態壓縮DP
7.7小結
第8章數學
8.1高精度計算
8.2數論
8.2.1模運算
8.2.2快速冪
8.2.3、LCM
8.2.4擴展歐幾裡得算一次方程的整數解
8.2.5同
8.2.6素數
8.3組合數學
8.3.1鴿巢原理
8.3.2楊輝三角和二項式繫數
8.3.3容斥原理
8.3.4Fibonacci數列
8.3.5母函數
8.3.6特殊計數
8.4概率和數學期望
8.5公平組合遊戲
8.5.1巴什遊戲與Pition、Nition
8.5.2尼姆遊戲
8.5.3圖遊戲與SpragueGrundy函數
8.5.4威佐夫遊戲
8.6小結
第9章字符串
9.1字符串的基本操作
9.2字符串哈希
9.3字典樹
9.4KMP
9.5AC自動機
9.6後綴樹和後綴數組
9.6.1概念
9.6.2用倍增法求後綴數組
9.6.3用後綴數組解決經典問題
9.7小結
0章圖論
10.1圖的基本概念
10.2圖的存儲
10.3圖的遍歷和連通性
10.4拓撲排序
10.5歐拉路
10.6無向圖的連通性
10.6.1割點和割邊
10.6.2雙連通分量
10.7有向圖的連通性
10.7.1Kosaraju算法
10.7.2Tarjan算法
10.82SAT問題
10.9短路
10.9.1FloydWarshall
10.9.2BellmanFord
10.9.3SPFA
10.9.4Dijkstra
10.10小生成樹
10.10.1prim算法
10.10.2kruskal算法
10.11大流
10.11.1FordFulkerson方法
10.11.2EdmondsKarp算法
10.11.3Dinic算法和ISAP算法
10.12小割
10.13小費用大流
10.14二分圖匹配
10.15小結
1章計算幾何
11.1二維幾何基礎
11.1.1點和向量
11.1.2點積和積
11.1.3點和線
11.1.4多邊形
11.1.5凸包
11.1.6近點對
11.1.7旋轉卡殼
11.1.8半平面交
11.2圓
11.2.1基本計算
11.2.2小圓覆蓋
11.3三維幾何
11.3.1三維點和向量
11.3.2三維點積
11.3.3三維積
11.3.4小球覆蓋
11.3.5三維凸包
11.4幾何模板
11.5小結
2章ICPC區域賽真題
12.1ICPC亞洲區域賽(中國大陸)情況
12.2ICPC區域賽題目解析
12.2.1F題Friendship of Frog(hdu 5578)
12.2.2K題Kingdom of Black and White(hdu 5583)
12.2.3L題LCM Walk(hdu 5584)
12.2.4A題An Easy Physics Problem(hdu 5572)
12.2.5B題Binary Tree(hdu 5573)
12.2.6D題Discover Water Tank(hdu 5575)
12.2.7E題Expection of String(hdu 5576)
12.2.8G題Game of Arrays(hdu 5579)
12.2.9I題Infinity Point Sets(hdu 5581)
參考文獻
本書是算法競賽的入門和進階教材,包括算法思路、模板代碼、知識體繫、賽事相關等內容。本書把競賽常用的知識點和競賽題結合起來,講解清晰、透徹,幫助初學者建立自信心,快速從實際問題入手,模仿經典代碼解決問題,進入中級學習階段。全書分為12章,覆蓋了目前算法競賽中的主要內容,包括算法競賽概述、算法復雜度、STL和基本數據結構、搜索技術、不錯數據結構、基礎算法思想、動態規劃、數學、字符串、圖論、計算幾何。本書適合用於高等院校開展的ICPC、CCPC等算法競賽培訓,中學NOI信息學競賽培訓,以及需要學習算法、提高計算思維的計算機工作者。
前言算法競賽,例如ACMICPC、CCPC等,在中國已經活躍多年,是具影響力的大學生計算機競賽。目前,已經出版的算法競賽書也有30多部,有一些被隊員們奉為“寶書”,有很好的口碑。本書作者是競賽教練,因為工作的原因,詳細閱讀過這些書。這些書,或者講解深刻讓人佩服,或者娓娓道來令人愉悅,或者洋洋大觀讓人欲罷不能。讀經典書,甘之如飴。在多年的競賽教練工作中,本書作者作為喜歡自我表現的社會人,也常常躍躍欲試,試圖寫出一本新的經典書。本書作者認為,競賽隊員在算法競賽學習中的痛點需求如下。算法思路: 一點就透,豁然開朗。模板代碼: 結構精巧,清晰易讀。知識體繫: 由淺入深,逐步推進。賽事相關: 參賽秘籍,高手經驗。上面立的幾個flag雖然高不可攀,但確實是本書作者內心的旗幟。本書是一本“競賽書”,不是計算機算法教材,也不是編程語言書,因此對大多數知識點本身不會做過多的等