本書依據(jù)IOI大綱編寫,旨在提供一份全面的現(xiàn)代算法競賽入門指南。
本書介紹僅在論壇和博客文章中討論的算法競賽技巧,內(nèi)容包括遞歸算法和位運(yùn)算、時(shí)間復(fù)雜度、排序算法和二分查找、數(shù)據(jù)結(jié)構(gòu)、動(dòng)態(tài)規(guī)劃、圖論算法、算法設(shè)計(jì)專題、區(qū)間查詢、樹上算法、數(shù)學(xué)專題、高級圖算法、計(jì)算幾何、字符串算法、根號分治技術(shù)、動(dòng)態(tài)規(guī)劃優(yōu)化、回溯技術(shù)、如何準(zhǔn)備IOI、算法競賽的未來等。本書覆蓋了從基礎(chǔ)到高級的所有重要主題,形成了一套完整的學(xué)習(xí)體系,不僅能幫助你迅速提升編程技巧,還能讓你深入了解各種基本算法和解題思路。
更多科學(xué)出版社服務(wù),請掃碼獲取。
2004年畢業(yè)于華北水利水電學(xué)院機(jī)械設(shè)計(jì)專業(yè)曾就職于上海微軟全球技術(shù)支持中心,擔(dān)任.net虛擬機(jī)(CLR)以及Visual Studio Extensibility技術(shù)咨詢顧問。2008年進(jìn)入金融IT行業(yè),就職于北京贊同信息技術(shù)有限公司,擔(dān)任高級技術(shù)經(jīng)理,負(fù)責(zé)基于.net平臺(tái)的銀行業(yè)務(wù)平臺(tái)開發(fā)。專注于人工智能以及算法技術(shù)在金融科技領(lǐng)域的應(yīng)用。同時(shí)擔(dān)任四川大學(xué)ACM/ICPC算法競賽集訓(xùn)隊(duì)特邀指導(dǎo)老師,榕陽編程N(yùn)OI、NOIP指導(dǎo)教練。所帶學(xué)員多次獲得ICPC金/銀牌,進(jìn)入NOI省隊(duì)等。機(jī)械設(shè)計(jì)《算法競賽入門經(jīng)典:習(xí)題與解答》京東評論數(shù)20000+,《算法競賽入門經(jīng)典——訓(xùn)練指南 升級版》京東評論數(shù)20000+,《算法競賽入門經(jīng)典——算法實(shí)現(xiàn)》京東評論數(shù)20000+無
目錄
第1章 引言 1
1.1 什么是算法競賽? 2
1.2 關(guān)于本書 4
1.3 CSES題目集 5
1.4 其他資源 7
參考文獻(xiàn) 8
第2章 編程技巧 9
2.1 語言特性 10
2.2 遞歸算法 16
2.3 位運(yùn)算 19
參考文獻(xiàn) 25
第3章 算法效率 27
3.1 時(shí)間復(fù)雜度 28
3.2 算法設(shè)計(jì)示例 33
3.3 代碼優(yōu)化 37
第4章 排序與搜索 43
4.1 排序算法 44
4.2 通過排序解決問題 49
4.3 二分查找 53
第5章 數(shù)據(jù)結(jié)構(gòu) 57
5.1 動(dòng)態(tài)數(shù)組 58
5.2 集合結(jié)構(gòu) 61
5.3 實(shí)驗(yàn) 66
第6章 動(dòng)態(tài)規(guī)劃 69
6.1 基本概念 70
6.2 更多示例 75
參考文獻(xiàn) 82
第7章 圖論算法 83
7.1 圖論基礎(chǔ)知識 84
7.2 圖遍歷 88
7.3 最短路 92
7.4 有向無環(huán)圖 98
7.5 后繼圖 102
7.6 最小生成樹 104
參考文獻(xiàn) 110
第8章 算法設(shè)計(jì)專題 111
8.1 位并行算法 112
8.2 均攤分析(amortized analysis) 115
8.3 查找最小值 119
參考文獻(xiàn) 121
第9章 區(qū)間查詢 123
9.1 靜態(tài)數(shù)組上的查詢 124
9.2 樹結(jié)構(gòu) 126
參考文獻(xiàn) 132
第10章 樹上算法 133
10.1 基本技術(shù) 134
10.2 樹上查詢 139
10.3 高級技術(shù) 145
參考文獻(xiàn) 146
第11章 數(shù)學(xué)專題 147
11.1 數(shù)論 148
11.2 組合數(shù)學(xué) 157
11.3 矩陣 165
11.4 概率 174
11.5 博弈論 181
11.6 傅里葉變換 187
11.7 猜測公式 192
參考文獻(xiàn) 196
第12章 高級圖算法 197
12.1 強(qiáng)連通性 198
12.2 完整路徑 201
12.3 最大流 205
12.4 深度優(yōu)先搜索樹 214
12.5 最小費(fèi)用流 216
參考文獻(xiàn) 221
第13章 計(jì)算幾何 223
13.1 幾何技術(shù) 224
13.2 掃描線算法 231
參考文獻(xiàn) 234
第14章 字符串算法 235
14.1 基本約定 236
14.2 字符串哈希 239
14.3 Z 算法 242
14.4 后綴數(shù)組 245
14.5 字符串自動(dòng)機(jī) 248
參考文獻(xiàn) 254
第15章 附加主題 255
15.1 根號分治技術(shù) 256
15.2 線段樹再探 262
15.3 Treaps 269
15.4 動(dòng)態(tài)規(guī)劃優(yōu)化 272
15.5 回溯技術(shù) 276
15.6 雜項(xiàng) 280
參考文獻(xiàn) 285
第16章 Python在算法競賽中的應(yīng)用 287
16.1 引言 288
16.2 數(shù)據(jù)結(jié)構(gòu) 292
16.3 沒有二叉搜索樹的情況下的對策 297
16.4 遞歸函數(shù) 299
16.5 運(yùn)行效率 302
16.6 將Python作為工具使用 304
第17章 如何準(zhǔn)備IOI 309
17.1 競賽概述 310
17.2 賽前準(zhǔn)備 314
17.3 技術(shù)技能 316
17.4 競賽期間 321
參考文獻(xiàn) 324
第18章 算法競賽的未來 325
18.1 生成式AI 326
18.2 接下來會(huì)發(fā)生什么 328
參考文獻(xiàn) 328
附錄 數(shù)學(xué)背景知識 329