本書是一本算法競賽的入門與提高教材,把C/C 語言、算法和解題有機(jī)地結(jié)合在一起,淡化理論,注重學(xué)習(xí)方法和實(shí)踐技巧。全書內(nèi)容分為12章,包括程序設(shè)計(jì)入門、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、數(shù)組和字符串、函數(shù)和遞歸、C 與STL入門、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)、暴力求解法、高效算法設(shè)計(jì)、動態(tài)規(guī)劃初步、數(shù)學(xué)概念與方法、圖論模型與算法、高級專題等內(nèi)容,覆蓋了算法競賽入門和提高所需的主要知識點(diǎn),并含有大量例題和習(xí)題。書中的代碼規(guī)范、簡潔、易懂,不僅能幫助讀者理解算法原理,還能教會讀者很多實(shí)用的編程技巧;書中包含的各種開發(fā)、測試和調(diào)試技巧也是傳統(tǒng)的語言、算法類書籍中難以見到的。
本書可作為全國青少年信息學(xué)奧林匹克聯(lián)賽(NOIP)復(fù)賽教材、全國青少年信息學(xué)奧林匹克競賽(NOI)和ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM/ICPC)的訓(xùn)練資料,也可作為IT工程師與科研人員的參考用書。
如果你是一名程序員,如果你參加NOIP、NOI、ACM/ICPC競賽,只要你對算法感興趣,那就來吧!就是這本被多程序員所喜愛、被大量學(xué)校廣泛作為教材的算法競賽經(jīng)典之作!
算法競賽入門經(jīng)典一書全新改版,頁碼翻倍,奇葩?非也,這是因?yàn)椋?/p>
版內(nèi)容太少,讓人感覺意猶未盡。
有些內(nèi)容有點(diǎn)過時(shí),需要與時(shí)俱進(jìn)。
C 的介紹太少,例題太少,學(xué)有余力的同學(xué)在入門完之后有些迷茫。
此次改版就是針對這些不足,所以很讓人期待!
劉汝佳,1982年12月生,高中畢業(yè)于重慶市外國語學(xué)校。2000年3月獲得NOI2000全國青少年信息學(xué)奧林匹克競賽一等獎第四名,進(jìn)入國家集訓(xùn)隊(duì),并因此保送到清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系。大一時(shí)獲2001年ACM/ICPC國際大學(xué)生程序設(shè)計(jì)競賽亞洲-上海賽區(qū)冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學(xué)士學(xué)位,2008年獲碩士學(xué)位。
學(xué)生時(shí)代曾為中國計(jì)算機(jī)學(xué)會NOI科學(xué)委員會學(xué)生委員,擔(dān)任IOI2002-2008中國國家隊(duì)教練,并為NOI系列比賽命題十余道。現(xiàn)為NOI競賽委員會委員,并在NOI 25周年時(shí)獲得中國計(jì)算機(jī)學(xué)會頒發(fā)的“特別貢獻(xiàn)獎”。
2004年至今共為ACM/ICPC亞洲賽區(qū)命題二十余道,擔(dān)任6次裁判和2次命題總監(jiān),并應(yīng)邀參加IOI和ACM/ICPC相關(guān)國際研討會,兩篇。
2004年初作為及時(shí)作者出版專著《算法藝術(shù)與信息學(xué)競賽》,2009年出版譯著《編程挑戰(zhàn)》,2009年出版《算法競賽入門經(jīng)典》,2012年出版《算法競賽入門經(jīng)典——訓(xùn)練指南》。
多年來在全國二十余個(gè)城市進(jìn)行中學(xué)生競賽培訓(xùn)工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,并多次與TopCoder、百度和網(wǎng)易有道等知名企業(yè)合作舉辦比賽,讓更多的IT人才獲得展示自我的平臺。劉汝佳,1982年12月生,高中畢業(yè)于重慶市外國語學(xué)校。2000年3月獲得NOI2000全國青少年信息學(xué)奧林匹克競賽一等獎第四名,進(jìn)入國家集訓(xùn)隊(duì),并因此保送到清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系。大一時(shí)獲2001年ACM/ICPC國際大學(xué)生程序設(shè)計(jì)競賽亞洲-上海賽區(qū)冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學(xué)士學(xué)位,2008年獲碩士學(xué)位。
學(xué)生時(shí)代曾為中國計(jì)算機(jī)學(xué)會NOI科學(xué)委員會學(xué)生委員,擔(dān)任IOI2002-2008中國國家隊(duì)教練,并為NOI系列比賽命題十余道。現(xiàn)為NOI競賽委員會委員,并在NOI 25周年時(shí)獲得中國計(jì)算機(jī)學(xué)會頒發(fā)的“特別貢獻(xiàn)獎”。
2004年至今共為ACM/ICPC亞洲賽區(qū)命題二十余道,擔(dān)任6次裁判和2次命題總監(jiān),并應(yīng)邀參加IOI和ACM/ICPC相關(guān)國際研討會,兩篇。
2004年初作為及時(shí)作者出版專著《算法藝術(shù)與信息學(xué)競賽》,2009年出版譯著《編程挑戰(zhàn)》,2009年出版《算法競賽入門經(jīng)典》,2012年出版《算法競賽入門經(jīng)典——訓(xùn)練指南》。
多年來在全國二十余個(gè)城市進(jìn)行中學(xué)生競賽培訓(xùn)工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,并多次與TopCoder、百度和網(wǎng)易有道等知名企業(yè)合作舉辦比賽,讓更多的IT人才獲得展示自我的平臺。
第1部分語言篇
第1章程序設(shè)計(jì)入門...
1.1算術(shù)表達(dá)式
1.2變量及其輸入
1.3順序結(jié)構(gòu)程序設(shè)計(jì)
1.4分支結(jié)構(gòu)程序設(shè)計(jì)
1.5注解與習(xí)題
1.5.1C語言、C99、C11及其他
1.5.2數(shù)據(jù)類型與輸入格式
1.5.3習(xí)題
1.5.4小結(jié)
第2章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)...
2.1for循環(huán)
2.2while循環(huán)和do-while循環(huán)
2.3循環(huán)的代價(jià)
2.4算法競賽中的輸入輸出框架
2.5注解與習(xí)題
2.5.1習(xí)題
2.5.2小結(jié)
第3章數(shù)組和字符串...
3.1數(shù)組
3.2字符數(shù)組
3.3競賽題目選講
3.4注解與習(xí)題
3.4.1進(jìn)位制與整數(shù)表示
3.4.2思考題
3.4.3黑盒測試和在線評測系統(tǒng)
3.4.4例題一覽與習(xí)題
3.4.5小結(jié)
第4章函數(shù)和遞歸...
4.1自定義函數(shù)和結(jié)構(gòu)體
4.2函數(shù)調(diào)用與參數(shù)傳遞
4.2.1形參與實(shí)參
4.2.2調(diào)用棧
4.2.3用指針作參數(shù)
4.2.4初學(xué)者易犯的錯(cuò)誤
4.2.5數(shù)組作為參數(shù)和返回值
4.2.6把函數(shù)作為函數(shù)的參數(shù)
4.3遞歸
4.3.1遞歸定義
4.3.2遞歸函數(shù)
4.3.3C語言對遞歸的支持
4.3.4段錯(cuò)誤與棧溢出
4.4競賽題目選講
4.5注解與習(xí)題
4.5.1頭文件、副作用及其他
4.5.2例題一覽和習(xí)題
4.5.3小結(jié)
第5章C 與STL入門...
5.1從C到C
5.1.1C 版框架
5.1.2引用
5.1.3字符串
5.1.4再談結(jié)構(gòu)體
5.1.5模板
5.2STL初步
5.2.1排序與檢索
5.2.2不定長數(shù)組:vector
5.2.3集合:set
5.2.4映射:map
5.2.5棧、隊(duì)列與優(yōu)先隊(duì)列
5.2.6測試STL
5.3應(yīng)用:大整數(shù)類
5.3.1大整數(shù)類BigInteger
5.3.2四則運(yùn)算
5.3.3比較運(yùn)算符
5.4競賽題目舉例
5.5習(xí)題
第2部分基礎(chǔ)篇
第6章數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)...
6.1再談棧和隊(duì)列
6.2鏈表
6.3樹和二叉樹
6.3.1二叉樹的編號
6.3.2二叉樹的層次遍歷
6.3.3二叉樹的遞歸遍歷
6.3.4非二叉樹
6.4圖
6.4.1用DFS求連通塊
6.4.2用BFS求最短路
6.4.3拓?fù)渑判?/p>
6.4.4歐拉回路
6.5競賽題目選講
6.6訓(xùn)練參考
第7章暴力求解法...
7.1簡單枚舉
7.2枚舉排列
7.2.1生成1~n的排列
7.2.2生成可重集的排列
7.2.3解答樹
7.2.4下一個(gè)排列
7.3子集生成
7.3.1增量構(gòu)造法
7.3.2位向量法
7.3.3二進(jìn)制法
7.4回溯法
7.4.1八皇后問題
7.4.2其他應(yīng)用舉例
7.5路徑尋找問題
7.6迭代加深搜索
7.7競賽題目選講
7.8訓(xùn)練參考
第3部分競賽篇
第8章高效算法設(shè)計(jì)...
8.1算法分析初步
8.1.1漸進(jìn)時(shí)間復(fù)雜度
8.1.2上界分析
8.1.3分治法
8.1.4正確對待算法分析結(jié)果
8.2再談排序與檢索
8.2.1歸并排序
8.2.2快速排序
8.2.3二分查找
8.3遞歸與分治
8.4貪心法
8.4.1背包相關(guān)問題
8.4.2區(qū)間相關(guān)問題
8.4.3Huffman編碼
8.5算法設(shè)計(jì)與優(yōu)化策略
8.6競賽題目選講
8.7訓(xùn)練參考
第9章動態(tài)規(guī)劃初步...
9.1數(shù)字三角形
9.1.1問題描述與狀態(tài)定義
9.1.2記憶化搜索與遞推
9.2DAG上的動態(tài)規(guī)劃
9.2.1DAG模型
9.2.2最長路及其字典序
9.2.3固定終點(diǎn)的最長路和最短路
9.2.4小結(jié)與應(yīng)用舉例
9.3多階段決策問題
9.3.1多段圖的最短路
9.3.20-1背包問題
9.4更多經(jīng)典模型
9.4.1線性結(jié)構(gòu)上的動態(tài)規(guī)劃
9.4.2樹上的動態(tài)規(guī)劃
9.4.3復(fù)雜狀態(tài)的動態(tài)規(guī)劃
9.5競賽題目選講
9.6訓(xùn)練參考
第10章數(shù)學(xué)概念與方法...
10.1數(shù)論初步
10.1.1歐幾里德算法和分解定理
10.1.2Eratosthenes篩法
10.1.3擴(kuò)展歐幾里德算法
10.1.4同余與模算術(shù)
10.1.5應(yīng)用舉例
10.2計(jì)數(shù)與概率基
第9章動態(tài)規(guī)劃初步
學(xué)習(xí)目標(biāo)
理解狀態(tài)和狀態(tài)轉(zhuǎn)移方程
理解子結(jié)構(gòu)和重疊子問題
熟練運(yùn)用遞推法和記憶化搜索求解數(shù)字三角形問題
熟悉DAG上動態(tài)規(guī)劃的常見思路、兩種狀態(tài)定義方法和刷表法
掌握記憶化搜索在實(shí)現(xiàn)方面的注意事項(xiàng)
掌握記憶化搜索和遞推中輸出方案的方法
掌握遞推中滾動數(shù)組的使用方法
熟練解決經(jīng)典動態(tài)規(guī)劃問題
動態(tài)規(guī)劃的理論性和實(shí)踐性都比較強(qiáng),一方面需要理解“狀態(tài)”、“狀態(tài)轉(zhuǎn)移”、“子結(jié)構(gòu)”、“重疊子問題”等概念,另一方面又需要根據(jù)題目的條件靈活設(shè)計(jì)算法。可以這樣說,對動態(tài)規(guī)劃的掌握情況在很大程度上能直接影響一個(gè)選手的分析和建模能力。
9.1 數(shù)字三角形
動態(tài)規(guī)劃是一種用途很廣的問題求解方法,它本身并不是一個(gè)特定的算法,而是一種思想,一種手段。下面通過一個(gè)題目闡述動態(tài)規(guī)劃的基本思路和特點(diǎn)。
9.1.1 問題描述與狀態(tài)定義
數(shù)字三角形問題。有一個(gè)由非負(fù)整數(shù)組成的三角形,及時(shí)行只有一個(gè)數(shù),除了最下行之外每個(gè)數(shù)的左下方和右下方各有一個(gè)數(shù),如圖9-1所示。
(a)數(shù)字三角形 (b)格子編號
圖9-1 數(shù)字三角形問題
從及時(shí)行的數(shù)開始,每次可以往左下或右下走一格,直到走到最下行,把沿途經(jīng)過的數(shù)全部加起來。如何走才能使得這個(gè)和盡量大?
經(jīng)典書籍不用細(xì)說,大神的兩本都買了。刷題必備,ACM必備。早就看過第一版但是意猶未盡,重基礎(chǔ)重思路。
好書,對于算法編程的學(xué)習(xí)范圍畫得很清楚,適合學(xué)習(xí)
非常好的一本書,針對性很強(qiáng)。希望孩子能仔細(xì)研讀,領(lǐng)會書中的技巧。
是一本競賽入門級的書!例題個(gè)習(xí)題挺豐富的 值得收藏
深入淺出,通過實(shí)例來講解語法特性和算法,比較容易理解
信息學(xué)奧賽的經(jīng)典教程。書在收藏里放了好長時(shí)間了,趁著搞活動拿下。
對于想要參加ACM或者想提高的同學(xué)來說,是個(gè)不錯(cuò)的選擇。練習(xí)很有啟發(fā)性。
對NOIP考試應(yīng)該很有幫助,爭取看后能夠取得好成績,為孩子加油!
遠(yuǎn)近聞名的輔導(dǎo)書,noip noi ioi acm均可使用,講解很豐富!
這本書是我參加北大先修課的教材,也是我看過這么多年的編程書中寫的最清晰,最簡單易懂的一版。然而深度也非常到位。用它自學(xué)會有難度,建議在老師的指導(dǎo)下使用。
用的時(shí)候查算法很方便哦,而且是有C++ 實(shí)現(xiàn),不錯(cuò)
很好的算法入門書,雖然后邊部分需要一定基礎(chǔ)才能看懂,但還是很不錯(cuò)的一本入門書。
算法競賽入門經(jīng)典(第2版)(算法藝術(shù)與信息學(xué)競賽)算法競賽入門經(jīng)典(第2版)(算法藝術(shù)與信息學(xué)競賽)算法競賽入門經(jīng)典(第2版)(算法藝術(shù)與信息學(xué)競賽)算法競賽入門經(jīng)典(第2版)(算法藝術(shù)8與信息學(xué)競賽6)算法競賽入門經(jīng)典(第2版)1Y0(算法藝術(shù)與信息學(xué)競賽)結(jié)構(gòu) 6 多邊形的布O爾運(yùn)算 難題選解 數(shù)據(jù)結(jié)構(gòu) 網(wǎng)絡(luò)流8 固定的解法,給讀者留有廣闊的發(fā)揮創(chuàng)造力的S空8間,經(jīng)過思考構(gòu)造出的2算法能不能高效地解決問8題,C都得通過上機(jī)速排序 二分查找 遞4歸與I分治 貪心法 …
是有個(gè)牛娃的朋友介紹買的,看來真的是牛娃才喜歡看的,牛娃媽說他家的超級喜歡看,拿起來了就不想放下了,我家的還沒開動呢。
書收到了哦,很喜歡,包裝完好,物流給力。超級經(jīng)典的算法教程,有具體的源代碼實(shí)現(xiàn)與豐富的習(xí)題,是初學(xué)者必備的寶典
總體感覺不錯(cuò),很容易看懂,買來學(xué)習(xí)算法了,希望有所幫助,包裝完整
中學(xué)階段沒接觸過信息競賽,據(jù)聞信息競賽比ACM難度還要高一些。于是我懷著好奇心買了這本書。。。
算法的入門書,確實(shí)很好,有很多編程新手容易掉的坑都點(diǎn)出來了,值得一讀。
給正在學(xué)信競的孩子買的,聽了學(xué)長家長的推薦,認(rèn)為值得一買。配套的還買了訓(xùn)練指南。書看著不錯(cuò),孩子覺得比較容易接受,看得懂,希望對孩子的學(xué)習(xí)有幫助。
ACM入門吧算是,挺不錯(cuò)的。據(jù)說校隊(duì)都是用這個(gè)入門呢
書質(zhì)量很好,一次性買了好多書,以后慢慢看,書的紙質(zhì)挺好的,物流也挺快的,很好的一次購物,內(nèi)容通俗易懂,很好,很愉快的一次購物,以后還在當(dāng)當(dāng)買書,很好,很好,物流挺快的,
算法競賽必備,感覺不錯(cuò),劉汝佳的書,已經(jīng)買了兩本了
算法競賽入門經(jīng)典(第2版)(算法藝術(shù)與4信息學(xué)競賽)算法K 同余與模算術(shù)
這本書是算法競賽入門的經(jīng)典書籍,平時(shí)也可以用來訓(xùn)練編程
算法競賽非常適合參加信息學(xué)競賽的學(xué)生們,對指導(dǎo)競賽的老師也很有借鑒意義。
我是代碼狗,我愛算法,然而我最有信心的算法課卻得了**分,我很傷心。
一本經(jīng)典的算法入門書,大一就學(xué)長就推薦這本書,大二才閱讀到這本書,自我覺得實(shí)在有點(diǎn)“晚”,內(nèi)部關(guān)于各種經(jīng)典的算法,不過習(xí)題內(nèi)容不全(沒有測試數(shù)據(jù)),建議到書中習(xí)題的網(wǎng)站上查看原題。