世界大學(xué)生程序設(shè)計(jì)競(jìng)賽 (ACM/ICPC) 高級(jí)教程
定 價(jià):48 元
- 作者:吳文虎, 王建德編著
- 出版時(shí)間:2012/7/1
- ISBN:9787113146054
- 出 版 社:中國(guó)鐵道出版社
- 中圖法分類(lèi):TP311.1
- 頁(yè)碼:213頁(yè)
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《世界大學(xué)程序設(shè)計(jì)競(jìng)賽(ACM/ICPC)高級(jí)教程(第2冊(cè)):程序設(shè)計(jì)中常用的解題策略》是針對(duì)世界大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM/ICPC)而編寫(xiě)的第二本參考書(shū)。
ACM/ICPC是大學(xué)生智力與計(jì)算機(jī)解題能力的競(jìng)賽,是世界公認(rèn)的最具影響力的、規(guī)模最大的國(guó)際頂級(jí)賽事,被稱(chēng)為大學(xué)生的信息學(xué)奧林匹克。
第一冊(cè)主要介紹程序設(shè)計(jì)中解題的常用思維方式!妒澜绱髮W(xué)程序設(shè)計(jì)競(jìng)賽(ACM/ICPC)高級(jí)教程(第2冊(cè)):程序設(shè)計(jì)中常用的解題策略》是第一冊(cè)的繼續(xù),只是換了一個(gè)角度,分4方面介紹解題策略:數(shù)據(jù)關(guān)系上的構(gòu)造策略;數(shù)據(jù)統(tǒng)計(jì)上的二分策略;動(dòng)態(tài)規(guī)劃中的優(yōu)化策略;計(jì)算幾何題的應(yīng)對(duì)策略。
《世界大學(xué)程序設(shè)計(jì)競(jìng)賽(ACM/ICPC)高級(jí)教程(第2冊(cè)):程序設(shè)計(jì)中常用的解題策略》面向參加世界大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM/ICPC)的高等院校學(xué)生,也可作為程序設(shè)計(jì)愛(ài)好者的參考用書(shū)。
吳文虎教授,1955年-1961年分別就讀于清華大學(xué)電機(jī)工程系及自動(dòng)控制系,現(xiàn)為計(jì)算機(jī)系教授、博士生導(dǎo)師,主要研究方向包括語(yǔ)音識(shí)別及語(yǔ)言理解、語(yǔ)音合成、語(yǔ)音信號(hào)數(shù)字處理等。吳教授學(xué)術(shù)水平精湛、教學(xué)水平高超、教學(xué)經(jīng)驗(yàn)豐富,多年來(lái)用對(duì)學(xué)生無(wú)私的愛(ài)詮釋了最好的師恩師德。他于1997年獲清華大學(xué)優(yōu)秀教學(xué)成果特等獎(jiǎng),1998年獲“全國(guó)優(yōu)秀教師一等獎(jiǎng)”,1999年獲國(guó)家科技部(原國(guó)家科委)授予的“全國(guó)科學(xué)普及先進(jìn)個(gè)人獎(jiǎng)”,1999年榮獲“首都勞動(dòng)獎(jiǎng)?wù)隆保?001年獲“全國(guó)師德先進(jìn)個(gè)人獎(jiǎng)”,2001年、2004年獲北京市高等教育教學(xué)優(yōu)秀成果一等獎(jiǎng),2003年為本科生講授的“程序設(shè)計(jì)基礎(chǔ)”課程被列為教育部首批“國(guó)家級(jí)精品課”,2004年獲中國(guó)計(jì)算機(jī)學(xué)會(huì)頒發(fā)的“杰出貢獻(xiàn)獎(jiǎng)”,2006年獲北京市高等教育教學(xué)名師獎(jiǎng);吳教授深受清華學(xué)子的愛(ài)戴,2003年獲清華大學(xué)教書(shū)育人獎(jiǎng),2005年獲清華大學(xué)第八屆“良師益友”榮譽(yù)稱(chēng)號(hào),2008年被清華大學(xué)學(xué)生會(huì)評(píng)為第一屆“我最喜愛(ài)的教師”。
從1989年至今,吳教授作為總教練和領(lǐng)隊(duì),曾15次帶領(lǐng)中國(guó)隊(duì)參加國(guó)際信息學(xué)奧林匹克競(jìng)賽,中國(guó)隊(duì)累計(jì)獲金牌51塊,屆屆名列前茅,2002年獲信息學(xué)奧林匹克國(guó)際委員會(huì)頒發(fā)的“特別貢獻(xiàn)獎(jiǎng)”。1997年-2008年,吳教授連續(xù)13年指導(dǎo)清華大學(xué)的學(xué)生進(jìn)入ACM世界大學(xué)生程序設(shè)計(jì)大賽總決賽,多次獲金牌、銀牌,并于2009年被大賽組委會(huì)授予“杰出教練獎(jiǎng)”。
第7章 利用樹(shù)狀結(jié)構(gòu)解題的策略
7.1 解決樹(shù)的最大-最小劃分問(wèn)題的一般方法
7.2 利用最小生成樹(shù)及其擴(kuò)展形式解題
7.2.1 利用最小生成樹(shù)解題
7.2.2 最小k度限制生成樹(shù)的思想和應(yīng)用
7.2.3 次小生成樹(shù)的思想和應(yīng)用
7.3 利用線段樹(shù)解決區(qū)間計(jì)算問(wèn)題
7.3.1 線段樹(shù)的基本概念
7.3.2 線段樹(shù)的基本操作
7.3.3 應(yīng)用線段樹(shù)解題
7.4 利用伸展樹(shù)優(yōu)化動(dòng)態(tài)集合的操作
7.4.1 伸展樹(shù)的基本操作
7.4.2 伸展樹(shù)的效率分析
7.4.3 應(yīng)用伸展樹(shù)解題
7.5 利用左偏樹(shù)實(shí)現(xiàn)優(yōu)先隊(duì)列的合并
7.5.1 左偏樹(shù)的定義和性質(zhì)
7.5.2 左偏樹(shù)的操作
7.5.3 應(yīng)用左偏樹(shù)解題
7.6 利用“跳躍表”替代樹(shù)結(jié)構(gòu)
7.6.1 跳躍表的概況
7.6.2 跳躍表的基本操作
7.6.3 跳躍表的效率分析
7.6.4 應(yīng)用跳躍表解題
小結(jié)
第8章 利用圖形(網(wǎng)狀)結(jié)構(gòu)解題的策略
8.1 利用網(wǎng)絡(luò)流算法解題
8.1.1 網(wǎng)絡(luò)與流的概念
8.1.2 最大流算法的核心——增廣路徑
8.1.3 通過(guò)求最大流計(jì)算最小割切
8.1.4 求容量有上下界的最大流問(wèn)題
8.1.5 網(wǎng)絡(luò)流的應(yīng)用
8.2 利用圖的匹配算法解題
8.2.1 匹配的基本概念
8.2.2 計(jì)算二分圖匹配的方法
8.2.3 利用一一對(duì)應(yīng)的匹配性質(zhì)轉(zhuǎn)化問(wèn)題
8.2.4 優(yōu)化匹配算法
8.3 利用“分層圖思想”解題
8.3.1 利用“分層圖思想”構(gòu)建圖論模型
8.3.2 利用“分層圖思想”優(yōu)化算法
8.4 利用平面圖性質(zhì)解題
8.4.1 平面圖的概念
8.4.2 平面圖的應(yīng)用實(shí)例
8.5 正確選擇圖論模型,優(yōu)化圖的運(yùn)算
8.5.1 正確選擇圖論模型
8.5.2 在充分挖掘和利用圖論模型性質(zhì)的基礎(chǔ)上優(yōu)化算法
小結(jié)
第9章 數(shù)據(jù)關(guān)系上的構(gòu)造策略
9.1 選擇數(shù)據(jù)邏輯結(jié)構(gòu)的基本原則
9.1.1 充分利用“可直接使用”的信息
9.1.2 不記錄“無(wú)用”信息
9.2 選擇數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的基本方法
9.2.1 合理采用順序存儲(chǔ)結(jié)構(gòu)
9.2.2 必要時(shí)采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
9.3 科學(xué)組合多種數(shù)據(jù)結(jié)構(gòu)
小結(jié)
第10章 數(shù)據(jù)統(tǒng)計(jì)上的二分策略
10.1 利用線段樹(shù)統(tǒng)計(jì)數(shù)據(jù)
10.2 一種解決動(dòng)態(tài)統(tǒng)計(jì)的靜態(tài)方法
10.2.1 討論一維序列的求和問(wèn)題
10.2.2 將一維序列的求和問(wèn)題推廣至二維
10.3 在靜態(tài)二叉排序樹(shù)上統(tǒng)計(jì)數(shù)據(jù)
10.3.1 建立靜態(tài)二叉排序樹(shù)
10.3.2 在靜態(tài)二叉排序樹(shù)上進(jìn)行統(tǒng)計(jì)
10.3.3 靜態(tài)二叉排序樹(shù)的應(yīng)用
10.4 在虛二叉樹(shù)上統(tǒng)計(jì)數(shù)據(jù)
小結(jié)
第11章 動(dòng)態(tài)規(guī)劃上的優(yōu)化策略
第12章 計(jì)算幾何上的應(yīng)對(duì)策略
小結(jié)
圖是用點(diǎn)、邊和權(quán)來(lái)描述事物和事物之間的關(guān)系,是對(duì)實(shí)際問(wèn)題的一種抽象。建立圖論模型,就是要從問(wèn)題的原型中,抽取有用的信息和要素,使要素間的內(nèi)在聯(lián)系體現(xiàn)在點(diǎn)、邊、權(quán)的關(guān)系上,使紛雜的信息變得有序、直觀、清晰。本章著重討論了4種特殊的、有廣泛應(yīng)用前景的圖結(jié)構(gòu):
網(wǎng)絡(luò)流模型。網(wǎng)絡(luò)是一種特殊類(lèi)型的簡(jiǎn)單有向圖(含源點(diǎn)、匯點(diǎn)和流量限制條件)。本章在闡述網(wǎng)絡(luò)與流概念的基礎(chǔ)上,講解了最大流算法的核心——增廣路徑和通過(guò)最大流計(jì)算最小割的手段;在容量有上下界的網(wǎng)絡(luò)中計(jì)算最大流的問(wèn)題上,介紹了分離流量、等價(jià)變換流網(wǎng)絡(luò)的方法。
網(wǎng)絡(luò)流的算法具有十分廣泛的用途,許多經(jīng)典的圖論問(wèn)題可以轉(zhuǎn)化成網(wǎng)絡(luò)流量的計(jì)算,現(xiàn)實(shí)生活中的許多問(wèn)題也可以轉(zhuǎn)化為網(wǎng)絡(luò)流和最小割問(wèn)題。在解題過(guò)程中,構(gòu)造流網(wǎng)絡(luò)的數(shù)學(xué)模型最具挑戰(zhàn)性意義。因?yàn)闆](méi)有現(xiàn)成的模式可以套用,發(fā)現(xiàn)問(wèn)題本質(zhì),創(chuàng)造可適用最大流算法的模型是解決問(wèn)題的關(guān)鍵。
二分圖模型。二分圖G也是一種特殊類(lèi)型的圖,其點(diǎn)集V(G)可被分成兩個(gè)互補(bǔ)的子集V1、V2對(duì)于屬于同一子集的任兩點(diǎn)x、y,(x,y)∈E(G)。由于這種特殊性,二分圖作為描述現(xiàn)實(shí)世界中兩類(lèi)不同事物間的相互關(guān)系的有效模型而得到廣泛的應(yīng)用。二分圖上的算法有很多區(qū)別于一般圖算法的優(yōu)勢(shì),所以將一個(gè)一般圖轉(zhuǎn)換成二分圖,往往會(huì)取得“事半功倍”的效果。轉(zhuǎn)換的關(guān)鍵一般是從題目本身的條件出發(fā),挖掘題目中深層次的信息,通過(guò)一一對(duì)應(yīng)的匹配性質(zhì)分類(lèi)圖的結(jié)點(diǎn)。在建立起二分圖的模型后,一般可通過(guò)合理使用二分圖的基本算法和相關(guān)定理求解。計(jì)算二分圖的最大匹配有匈牙利算法,計(jì)算結(jié)點(diǎn)加權(quán)二分圖的最佳匹配有KM算法。如果二分圖有更多的限制和要求,也可以通過(guò)最大流等更復(fù)雜的模型來(lái)解決,但從算法效率和編程復(fù)雜度上說(shuō),基于二分圖的算法一般比基于最大流的算法簡(jiǎn)單高效。因此最佳的辦法是,充分利用題目的特有性質(zhì),將經(jīng)典的匹配算法適當(dāng)變形,從而得到更高效的算法
……