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