
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請(qǐng)購(gòu)買正版!
一.資料圖片
二.資料簡(jiǎn)介
世界頂級(jí)程序設(shè)計(jì)高手的經(jīng)驗(yàn)總結(jié)
【ACM-ICPC全球總冠軍】巫澤俊主譯
日本ACM-ICPC參賽者人手一冊(cè)
本書(shū)對(duì)程序設(shè)計(jì)競(jìng)賽中的基礎(chǔ)算法和經(jīng)典問(wèn)題進(jìn)行了匯總,分為準(zhǔn)備篇、初級(jí)篇、中級(jí)篇與高級(jí)篇4章。作者結(jié)合自己豐富的參賽經(jīng)驗(yàn),對(duì)嚴(yán)格篩選的110 多道各類試題進(jìn)行了由淺入深、由易及難的細(xì)致講解,并介紹了許多實(shí)用技巧。每章后附有習(xí)題,供讀者練習(xí),鞏固所學(xué)。
本書(shū)適合程序設(shè)計(jì)人員、程序設(shè)計(jì)競(jìng)賽愛(ài)好者以及高校計(jì)算機(jī)專業(yè)師生閱讀。
三.資料目錄
譯者序
前言
第1章 蓄勢(shì)待發(fā)——準(zhǔn)備篇
1.1 何謂程序設(shè)計(jì)競(jìng)賽
1.2 最負(fù)盛名的程序設(shè)計(jì)競(jìng)賽
1.2.1 世界規(guī)模的大賽——Google Code Jam(GCJ)
1.2.2 向高排名看齊!——TopCoder
1.2.3 歷史最悠久的競(jìng)賽—— ACM-ICPC
1.2.4 面向中學(xué)生的信息學(xué)奧林匹克競(jìng)賽——JOI-IOI
1.2.5 通過(guò)網(wǎng)絡(luò)自動(dòng)評(píng)測(cè)——Online Judge(OJ)
1.3 本書(shū)的使用方法
1.3.1 本書(shū)所涉及的內(nèi)容
1.3.2 所用的編程語(yǔ)言
1.3.3 題目描述的處理
1.3.4 程序結(jié)構(gòu)
1.3.5 練習(xí)題
1.3.6 讀透本書(shū)后更上一層樓的練習(xí)方法
1.4 如何提交解答
1.4.1 POJ的提交方法
1.4.2 GCJ的提交方法
1.5 以高效的算法為目標(biāo)
1.5.1 什么是復(fù)雜度
1.5.2 關(guān)于運(yùn)行時(shí)間
1.6 輕松熱身
1.6.1 先從簡(jiǎn)單題開(kāi)始
1.6.2 POJ的題目Ants
1.6.3 難度增加的抽簽問(wèn)題
閱讀
第2章 初出茅廬——初級(jí)篇
2.1 最基礎(chǔ)的“窮竭搜索”
2.1.1 遞歸函數(shù)
2.1.2 棧
2.1.3 隊(duì)列
2.1.4 深度優(yōu)先搜索
2.1.5 寬度優(yōu)先搜索
2.1.6 特殊狀態(tài)的枚舉
2.1.7 剪枝
2.2 一往直前!貪心法
2.2.1 硬幣問(wèn)題
2.2.2 區(qū)間問(wèn)題
2.2.3 字典序最小問(wèn)題
2.2.4 其他例題
2.3 記錄結(jié)果再利用的“動(dòng)態(tài)規(guī)劃”
2.3.1 記憶化搜索與動(dòng)態(tài)規(guī)劃
2.3.2 進(jìn)一步探討遞推關(guān)系
2.3.3 有關(guān)計(jì)數(shù)問(wèn)題的DP
2.4 加工并存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
2.4.1 樹(shù)和二叉樹(shù)
2.4.2 優(yōu)先隊(duì)列和堆
2.4.3 二叉搜索樹(shù)
2.4.4 并查集
2.5 它們其實(shí)都是“圖”
2.5.1 圖是什么
2.5.2 圖的表示
2.5.3 圖的搜索
2.5.4 最短路問(wèn)題
2.5.5 最小生成樹(shù)
2.5.6 應(yīng)用問(wèn)題
2.6 數(shù)學(xué)問(wèn)題的解題竅門
2.6.1 輾轉(zhuǎn)相除法
2.6.2 有關(guān)素?cái)?shù)的基礎(chǔ)算法
2.6.3 模運(yùn)算
2.6.4 快速冪運(yùn)算
2.7 一起來(lái)挑戰(zhàn)GCJ的題目(1)
2.7.1 Minimum Scalar Product
2.7.2 Crazy Rows
2.7.3 Bribe the Prisoners
2.7.4 Millionaire
閱讀
第3章 出類拔萃——中級(jí)篇
3.1 不光是查找值!“二分搜索”
3.1.1 從有序數(shù)組中查找某個(gè)值
3.1.2 假定一個(gè)解并判斷是否可行
3.1.3 最大化最小值
3.1.4 最大化平均值
3.2 常用技巧精選(一)
3.2.1 尺取法
3.2.2 反轉(zhuǎn)(開(kāi)關(guān)問(wèn)題)
3.2.3 彈性碰撞
3.2.4 折半枚舉(雙向搜索)
3.2.5 坐標(biāo)離散化
3.3 活用各種數(shù)據(jù)結(jié)構(gòu)
3.3.1 線段樹(shù)
3.3.2 Binary Indexed Tree
3.3.3 分桶法和平方分割
3.4 熟練掌握動(dòng)態(tài)規(guī)劃
3.4.1 狀態(tài)壓縮DP
3.4.2 矩陣的冪
3.4.3 利用數(shù)據(jù)結(jié)構(gòu)高效求解
3.5 借助水流解決問(wèn)題的網(wǎng)絡(luò)流
3.5.1 最大流
3.5.2 最小割
3.5.3 二分圖匹配
3.5.4 一般圖匹配
3.5.5 匹配、邊覆蓋、獨(dú)立集和頂點(diǎn)覆蓋
3.5.6 最小費(fèi)用流
3.5.7 應(yīng)用問(wèn)題
3.6 與平面和空間打交道的計(jì)算幾何
3.6.1 計(jì)算幾何基礎(chǔ)
3.6.2 極限情況
3.6.3 平面掃描
3.6.4 凸包
3.6.5 數(shù)值積分
3.7 一起來(lái)挑戰(zhàn)GCJ的題目(2)
3.7.1 Numbers
3.7.2 No Cheating
3.7.3 Stock Charts
3.7.4 Watering Plants
3.7.5 Number Sets
3.7.6 Wi-fi Towers
第4章 登峰造極——高級(jí)篇
4.1 更加復(fù)雜的數(shù)學(xué)問(wèn)題
4.1.1 矩陣
4.1.2 模運(yùn)算的世界
4.1.3 計(jì)數(shù)
4.1.4 具有對(duì)稱性的計(jì)數(shù)
4.2 找出游戲的必勝策略
4.2.1 游戲與必勝策略
4.2.2 Nim
4.2.3 Grundy數(shù)
4.3 成為圖論大師之路
4.3.1 強(qiáng)連通分量分解
4.3.2 2-SAT
4.3.3 LCA
4.4 常用技巧精選(二)
4.4.1 棧的運(yùn)用
4.4.2 雙端隊(duì)列的運(yùn)用
4.4.3 倍增法
4.5 開(kāi)動(dòng)腦筋智慧搜索
4.5.1 剪枝
4.5.2 A*與IDA*
4.6 劃分、解決、合并:分治法
4.6.1 數(shù)列上的分治法
4.6.2 樹(shù)上的分治法
4.6.3 平面上的分治法
4.7 華麗地處理字符串
4.7.1 字符串上的動(dòng)態(tài)規(guī)劃算法
4.7.2 字符串匹配
4.7.3 后綴數(shù)組
4.8 一起來(lái)挑戰(zhàn)GCJ的題目(3)
4.8.1 Mine Layer
4.8.2 Year of More Code Jam
4.8.3 Football Team
4.8.4 Endless Knight
4.8.5 The Year of Code Jam
閱讀
本書(shū)中未涉及的拓展主題
書(shū)中例題列表
參考文獻(xiàn)