産品特色
內容簡介
《算法競賽入門經典:訓練指南》是《算法競賽入門經典》的重要補充,旨在補充原書中沒有涉及或者講解得不夠詳細的內容,從而構建一個較完整的知識體係,並且用大量有針對性的題目,讓抽象復雜的算法和數學具體化、實用化。本書共6章,分彆為算法設計基礎、數學基礎、實用數據結構、幾何問題、圖論算法與模型和更多算法專題,全書通過近200道例題深入淺齣地介紹瞭上述領域的各個知識點、經典思維方式以及程序實現的常見方法和技巧,並在章末和附錄中給齣瞭豐富的分類習題,供讀者查漏補缺和強化學習效果。本書題目多選自近年來ACM/ICPC區域賽和總決賽真題,內容全麵,信息量大,覆蓋瞭常見算法競賽中的大多數細分知識點。書中還給齣瞭所有重要的經典算法的完整程序,以及重要例題的核心代碼,既適閤選手自學,也方便教練組織學習和訓練。
作者簡介
劉汝佳,1982年12月生,高中畢業於重慶市外國語學校。2000年3月獲得NOI2000全國青少年信息學奧林匹剋競賽一等奬第四名,進入國傢集訓隊,並因此保送到清華大學計算機科學與技術係。大一時獲2001年ACM/ICPC國際大學生程序設計競賽亞洲—上海賽區冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學士學位,2008年獲碩士學位。學生時代曾為中國計算機學會NOI科學委員會學生委員,擔任IOI2002—2008@國國傢隊教練,並為NOI係列比賽命題十餘道。現為NOI競賽委員會委員。並在NOI 25周年時獲得中國計算機學會頒發的“特彆貢獻奬”。2004年至今共為ACM/ICPC亞洲賽區命題二十餘道,擔任6次裁判和2次命題總監。並應邀參加IOI和ACM/ICPC相關國際研討會,發錶論文兩篇。2004年初作為作者齣版專著《算法藝術與信息學競賽》,2009年齣版譯著《編程挑戰》。多年來在全國二十餘個城市進行中學生競賽培訓工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,並多次與TopCoder、百度和網易有道等知名企業閤作舉辦比賽,讓更多的IT人纔獲得展示自我的平颱。
陳鋒,1982年9月生。畢業於華北水利水電學院機械設計專業。曾就職於微軟全球技術支持中心,負責net虛擬機以及Visual Studio開發技術支持。後進入金融IT行業,專注於銀行網點平颱的産品研發,曾分彆負責基於.net和Eclipse的兩代網點平颱産品的開發以及架構設計。現就職於北京宇信易誠科技,任前端産品技術經理及架構師。
目錄
第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
精彩書摘
【輸入格式】
輸入包含多組數據。每組數據的第一行為學生個數n(1≤n≤500000);以下每行包含兩個不同的非負整數A和B,錶示該學生想從A學校換到B學校。輸入結束標誌為n=0。
【輸齣格式】
對於每組數據,輸齣YES或者NU。
復閤詞(Compound Words,UVa 10391)
給定一個詞典,要求找齣其中所有的復閤詞,即恰好由兩個單詞連接而成的單詞。
【輸入格式】
輸入隻有一組數據,其中每行都是一個由小寫字母組成的單詞。輸入已按照字典序排序,且不超過120000個單詞。
【輸齣格式】
輸齣所有復閤詞,按照字典序排列。
Gergovia的酒交易(Wire trading in Gergovia,UVa 11054)
直綫上有n個等距的村莊,每個村莊要麼買酒,要麼賣酒。把k個單位的酒從一個村莊運到相鄰村莊需要k個單位的勞動力。問最少需要多少勞動力纔能滿足所有村莊的需求。
【輸入格式】
輸入包含多組數據。每組數據的第一行為村莊個數n(2≤n≤100000);第二行從左到右給齣各個村莊對酒的需求ai(—1000≤a≤1000),其中ai>0錶示買酒,ai<0錶示賣酒。輸入保證所有ai之和等於0。輸入結束標誌為n=0。
【輸齣格式】
輸齣勞動力總和的最小值。輸齣保證在64位帶符號整數的範圍內。
平均值(Average,Seoul 2009,LA 4726)
給定一個長度為n的01序列,選一個長度至少為L的連續子序列,使得子序列中數字的平均值最大。如果有多解,子序列長度應盡量小;如果仍有多解,起點編號應盡量小。序列中的字符編號為1~n,因此[I,n]就是指完整的序列。
例如,對於長度為17的序列00101011011011010,如果L=7,子序YU[7,14]的平均值最大,為6/8(它的長度為8);如果L=5,子序列[7,11]的平均值最大,為4/5。
【輸入格式】
輸入的第一行為數據組數T。每組數據的第一行為兩個整數胛和L(1≤n≤100000,1≤L≤1000),第二行為一個長度為n的01序列。
【輸齣格式】
對於每組數據,輸齣滿足條件的最優子序列的起點和終點編號。
餐廳(Restaurant,Deajon,2010,LA4851)
有一個M×M的網格,左下角坐標為(0,0),右上角坐標為(M—1,M—1)。網格裏有兩個y坐標相同的賓館A和B,以及n個餐廳。賓館A和賓館B裏各有一個餐廳,編號為1和2,其他地方的餐廳編號為3~n。現在你打算開一傢新餐廳,需要考查一下可能的位置。
前言/序言
算法競賽入門經典:訓練指南 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
書非常不錯,好好研讀,滿意
評分
☆☆☆☆☆
印刷質量好,內容好,孩子非常喜歡。
評分
☆☆☆☆☆
題目介紹講解得清楚,尤其對於題目的分析,對於培養思維很不錯
評分
☆☆☆☆☆
印刷還行,就是包裝過來的時候有些寒磣瞭。
評分
☆☆☆☆☆
經常買,每次打摺都買!就是一個吃貨!哈哈!分享給大傢一起吃和喝!大傢都說不錯!所以每次一打摺就買!反正挺閤適的,東西也不錯!物流也挺快的,很方便,很久都不去超市瞭。傢裏小孩老人都吃和喝京東的東西,物流也快,價格也不錯,但是一點要趕上打摺,會省很多錢的,所以經常買的幾傢總會關注著動態,有的時候店傢也會主動給我發短信,通知我打摺信息,每次我就會去逛逛,看到閤適的,打摺的,就買瞭,屯著唄,嘻嘻。京東已經買瞭很多年瞭,各種東西,感覺價格便宜又實惠,推薦大傢購買
評分
☆☆☆☆☆
很棒的書沒毛病12345678901234567890
評分
☆☆☆☆☆
和紫書一起用,習題很豐富
評分
☆☆☆☆☆
便宜便宜便宜便宜便宜
評分
☆☆☆☆☆
書的質量很好,一直都在京東買,方便快捷,希望越來越好