算法競賽黃金法則:提高算法和思考力的77項(xiàng)技巧
定 價(jià):128 元
- 作者:朱全民
- 出版時(shí)間:2025/7/1
- ISBN:9787030820822
- 出 版 社:科學(xué)出版社
- 中圖法分類:TP311.1
- 頁碼:431
- 紙張:
- 版次:1
- 開本:16
本書是算法競賽經(jīng)典教程,由IOI三屆金牌獲得者傾力打造,系統(tǒng)講解算法競賽中的77個核心技巧和解題思路,旨在幫助讀者提升算法設(shè)計(jì)能力與邏輯思維。
本書共分10章,內(nèi)容包括算法與時(shí)間復(fù)雜度、前綴和、二分查找、動態(tài)規(guī)劃、數(shù)學(xué)問題、思維技巧、啟發(fā)式、數(shù)據(jù)結(jié)構(gòu)和查詢處理、圖算法、綜合問題。書后配有20道精選的綜合測試題,可幫助讀者檢驗(yàn)和鞏固所學(xué)知識。300余幅全彩插圖,將抽象概念轉(zhuǎn)化為視覺化表達(dá),即使零基礎(chǔ)讀者也能輕松領(lǐng)悟精髓;153道例題與應(yīng)用問題均為原創(chuàng)設(shè)計(jì),剔除非核心要素,示例代碼精簡高效,特別適合通過“代碼臨摹”方式學(xué)習(xí)的讀者。
更多科學(xué)出版社服務(wù),請掃碼獲取。
1991年6月畢業(yè)湘潭大學(xué)計(jì)算機(jī)科學(xué)系軟件專業(yè),獲工學(xué)學(xué)士學(xué)位;2005年畢業(yè)于中南大學(xué)信息工程學(xué)院,獲軟件工程碩士學(xué)位。1991年任雅禮中學(xué)信息學(xué)奧賽總教練,2016年任雅禮天心書院中學(xué)校長,2020年任深圳北理莫斯科大學(xué)附屬中學(xué)校長。計(jì)算機(jī)科學(xué)與技術(shù)主編《CCF中學(xué)生計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)篇》等著作10本,發(fā)表論文30多篇,主持編寫了《全國中學(xué)生計(jì)算機(jī)程序設(shè)計(jì)評級標(biāo)準(zhǔn)》和《全國信息學(xué)奧賽考試大綱》。兼任長沙市信息技術(shù)工作室首席名師,長沙市農(nóng)村(望城二中)名師工作站站長,湖南省骨干教師培訓(xùn)專家,湖南省特級教師協(xié)會常務(wù)理事,全國信息學(xué)奧賽教師發(fā)展委員會主席等。
目錄
算法競賽入門
序 章
序1 什么是算法競賽? 2
序2 有哪些競賽? 3
序3 算法競賽的核心競爭力是什么? 5
序4 本書的使用方法 6
算法與時(shí)間復(fù)雜度
第1章
1.1 導(dǎo)入問題 17
1.2 枚舉(1) 20
1.3 枚舉(2) 23
1.4 二進(jìn)制 26
1.5 挑戰(zhàn)問題 30
總結(jié) 37
前綴和
第2章
2.1 一維前綴和(1) 42
2.2 一維前綴和(2) 46
2.3 二維前綴和(1) 50
2.4 二維前綴和(2) 56
2.5 挑戰(zhàn)問題 61
總結(jié) 68
二分查找
第3章
3.1 數(shù)組的二分查找 72
3.2 根據(jù)答案進(jìn)行二分查找 77
3.3 雙指針法 81
3.4 折半枚舉 85
3.5 挑戰(zhàn)問題 90
總結(jié) 93
第4章 動態(tài)規(guī)劃
4.1 動態(tài)規(guī)劃的基礎(chǔ) 98
4.2 動態(tài)規(guī)劃的回溯 101
4.3 二維DP(1):部分和問題 105
4.4 二維DP(2):背包問題 109
4.5 二維DP(3):最長公共子序列問題 114
4.6 二維DP(4):區(qū)間DP 119
4.7 優(yōu)化技巧 123
4.8 狀態(tài)壓縮DP 128
4.9 最長遞增子序列問題 133
4.10 挑戰(zhàn)問題 138
總結(jié) 141
第5章 數(shù)學(xué)問題
5.1 素?cái)?shù)判定 145
5.2 最大公約數(shù) 150
5.3 取模運(yùn)算(1):基礎(chǔ) 154
5.4 取模運(yùn)算(2):冪 158
5.5 取模運(yùn)算(3):除法 161
5.6 容斥原理 164
5.7 游戲(1):必勝法 168
5.8 游戲(2):Nim理論 172
5.9 游戲(3):Grundy數(shù) 177
5.10 挑戰(zhàn)問題 181
總結(jié) 184
第6章 思維技巧
6.1 思考奇偶性 189
6.2 計(jì)數(shù)貢獻(xiàn)法 192
6.3 思考上限值 196
6.4 思考下一步 199
6.5 思考個數(shù) 205
6.6 逆向思維 209
6.7 固定并枚舉 213
6.8 重新表述問題 217
6.9 改進(jìn)保存數(shù)據(jù)的方式 220
6.10 關(guān)注不變量 224
總結(jié) 227
第7章 啟發(fā)式
7.1 貪心算法 231
7.2 局部搜索算法 235
7.3 模擬退火算法 240
7.4 集束搜索 243
7.5 挑戰(zhàn)問題 251
總結(jié) 265
第8章 數(shù)據(jù)結(jié)構(gòu)和查詢處理
8.1 棧 270
8.2 隊(duì) 列 274
8.3 優(yōu)先隊(duì)列 278
8.4 關(guān)聯(lián)數(shù)組 282
8.5 集合管理(僅限C++) 286
8.6 哈希字符串 290
8.7 倍增法 295
8.8 線段樹:RMQ 299
8.9 線段樹:RSQ 308
8.10 挑戰(zhàn)問題 312
總結(jié) 317
第9章 圖算法
9.1 圖的實(shí)現(xiàn)方法 326
9.2 深度優(yōu)先搜索 329
9.3 廣度優(yōu)先搜索 333
9.4 Dijkstra算法 338
9.5 樹的動態(tài)規(guī)劃 346
9.6 Union-Find樹 350
9.7 最小生成樹問題 358
9.8 最大流問題 362
9.9 二分圖匹配問題 372
9.10 挑戰(zhàn)問題 376
總結(jié) 383
第10章 綜合問題
10.1 綜合問題(1) 388
10.2 綜合問題(2) 392
10.3 綜合問題(3) 396
10.4 綜合問題(4) 400
10.5 綜合問題(5) 404
10.6 綜合問題(6) 408
10.7 綜合問題(7) 412
本書總結(jié) 417
能力測試題 419
終章 能力提升之道
終1 積極參加各種比賽 426
終2 刷真題 427
終3 準(zhǔn)備庫 428
終4 “算法競賽經(jīng)典90問”挑戰(zhàn)指南 429
終5 從挫折到金牌的成長之路 430
參考文獻(xiàn) 433