ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM-ICPC)系列叢書:題目與解讀
定 價:69 元
- 作者:俞勇 編
- 出版時間:2012/12/1
- ISBN:9787302294924
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.1
- 頁碼:623
- 紙張:膠版紙
- 版次:1
- 開本:16開
ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM-ICPC)是國際上公認(rèn)的水平最高、規(guī)模最大、影響最深的計(jì)算機(jī)專業(yè)競賽,目前全球參與人數(shù)達(dá)20多萬。《ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM-ICPC)系列叢書:題目與解讀》作者將16年的教練經(jīng)驗(yàn)與積累撰寫成本系列叢書,全面、深入而系統(tǒng)地將ACM-ICPC展現(xiàn)給讀者、本系列叢書包括《ACM國際大學(xué)生程序設(shè)計(jì)競賽:知識與入門》、《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與實(shí)現(xiàn)》、《ACM國際大學(xué)生程序設(shè)計(jì)競賽:題目與解讀》、《ACM國際大學(xué)生程序設(shè)計(jì)競賽:比賽與思考》等4冊,其中《ACM國際大學(xué)生程序設(shè)計(jì)競賽:知識與入門》介紹了ACM-ICPC的知識及其分類、進(jìn)階與角色、在線評測系統(tǒng);《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與實(shí)現(xiàn)》介紹了ACM-ICPC算法分類、實(shí)現(xiàn)及索引;《ACM國際大學(xué)生程序設(shè)計(jì)競賽:題目與解讀》為各類算法配備經(jīng)典例題及題庫,并提供解題思路;《ACM國際大學(xué)生程序設(shè)計(jì)競賽:比賽與思考》介紹了上海交通大學(xué)ACM-ICPC的訓(xùn)練及比賽,包括訓(xùn)練札記、賽場風(fēng)云、賽季縱橫、冠軍之路、崢嶸歲月。
《ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM-ICPC)系列叢書:題目與解讀》適用于參加ACM國際大學(xué)生程序設(shè)計(jì)競賽的本科生和研究生,對參加青少年信息學(xué)奧林匹克競賽的中學(xué)生也很有指導(dǎo)價值。同時,作為程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)課程的拓展與提升,本叢書也是難得的教學(xué)輔助讀物。
寫在最前面的話
自從上海交通大學(xué)2002年第一次、2005年第二次獲得ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM International Collegiate Programming Contest,簡稱ACM-ICPC或ICPC)世界冠軍以來,總有記者邀請編者撰寫冠軍之路類的文章,也總有出版社希望編者出版ACM-ICPC競賽類的書籍,因?yàn)闆]有想清楚怎么寫,所以一直沒動筆。直到2010年上海交通大學(xué)第三次獲得ACM-ICPC世界冠軍后,編者決定出版一套系列叢書,包括《ACM國際大學(xué)生程序設(shè)計(jì)競賽:知識與入門》、《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與實(shí)現(xiàn)》、《ACM國際大學(xué)生程序設(shè)計(jì)競賽:題目與解讀》及《ACM國際大學(xué)生程序設(shè)計(jì)競賽:比賽與思考》4冊書籍,全面、深入而系統(tǒng)地將ACM-ICPC展現(xiàn)給讀者,把上海交通大學(xué)十多年來對ACM-ICPC競賽的感悟分享給讀者。
編寫此系列叢書的另一個重要原因是ACM-ICPC競賽在中國大陸的蓬勃興起。自從1996年ACM-ICPC引入中國大陸,前六屆僅設(shè)立1個賽區(qū),目前每年一般設(shè)立5個賽區(qū),并已有30所高校承辦過亞洲區(qū)預(yù)賽;參賽學(xué)校從不滿30所,到如今已達(dá)150多所;人數(shù)從不到200人,到如今已近15萬;總決賽名額從起初的3個,到如今已超過15個。同時,中國大陸在ACM-ICPC競賽上所取得的成績也舉世矚目。清華大學(xué)9次獲得總決賽獎牌(3金5銀1銅),位居獎牌榜之首,是實(shí)力最強(qiáng)、表現(xiàn)最穩(wěn)定的高校;上海交通大學(xué)8次獲得總決賽獎牌(4金3銀1銅),3次奪得世界冠軍,算是目前國內(nèi)成績最好的高校;中山大學(xué)4次獲得總決賽獎牌(2銀2銅),在生源不占優(yōu)勢的情況下,這一成績令人敬佩;復(fù)旦大學(xué)3次獲得總決賽獎牌(1銀2銅),是公認(rèn)的強(qiáng)校;浙江大學(xué)2次獲得總決賽獎牌(1金1銀),1次奪得世界冠軍,再次讓國人歡欣鼓舞;北京大學(xué)1次獲得總決賽獎牌(1銅),隊(duì)員的綜合實(shí)力堪稱一流;最難能可貴的是,華南理工大學(xué)也獲得過總決賽的獎牌(1銅),它告訴我們,ACM-ICPC不僅僅是“強(qiáng)!敝g的“對話”,只要堅(jiān)持參與就會斬獲成果。另外,至今已有37所大陸高校參加過全球總決賽,且不論成績?nèi)绾,他們在賽場上的奮斗亦值得稱道。
本系列叢書的第一冊《ACM國際大學(xué)生程序設(shè)計(jì)競賽:知識與入門》分為三個部分。知識點(diǎn)部分基本涵蓋了競賽中所涉及的主要知識點(diǎn),包括數(shù)學(xué)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、圖論、計(jì)算幾何、論題選編、求解策略等六個大類內(nèi)容。入門與進(jìn)階部分介紹了包括如何快速入門、如何提高自身以及團(tuán)隊(duì)水平等,主要根據(jù)上海交通大學(xué)ACM-ICPC隊(duì)多年參賽經(jīng)驗(yàn)總結(jié)而來。在線資源部分對一些常用的在線評測系統(tǒng)和網(wǎng)上比賽進(jìn)行了介紹。
本系列叢書的第二冊《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與實(shí)現(xiàn)》涵蓋了大部分ACM-ICPC競賽常用的經(jīng)典算法,包括數(shù)學(xué)、圖論、數(shù)據(jù)結(jié)構(gòu)、計(jì)算幾何、論題選編五個大類,對每個算法的代碼實(shí)現(xiàn),都配有接口說明以及簡略的算法闡述,并提供算法的完整程序。并收集了一些實(shí)用的知識點(diǎn)及積分表,方便讀者查找使用。
本系列叢書的第三冊《ACM國際大學(xué)生程序設(shè)計(jì)競賽:題目與解讀》分為兩個部分。例題精講部分針對第二冊《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與實(shí)現(xiàn)》中的算法配備經(jīng)典例題,并提供細(xì)致的解題思路,讀者可以通過這一部分學(xué)習(xí)和掌握算法;海量題庫部分按照算法分類羅列出大量習(xí)題,并提供相應(yīng)的題解,讀者可以利用這一部分的題目進(jìn)行訓(xùn)練,更加熟練地運(yùn)用各類算法。
本系列叢書的第四冊《ACM國際大學(xué)生程序設(shè)計(jì)競賽:比賽與思考》從120多名隊(duì)員、2400余篇文檔中精心挑選、編纂而成的文集,包括訓(xùn)練札記、賽場風(fēng)云、賽季縱橫、冠軍之路、崢嶸歲月,集中展現(xiàn)了上海交通大學(xué)ACM-ICPC隊(duì)16年的奮斗歷程,記載了這些隊(duì)員為了實(shí)現(xiàn)自己的夢想而不懈努力、勇于拼搏的故事。
這是一套全面、系統(tǒng)地學(xué)習(xí)ACM-ICPC競賽的知識類書籍;
這是一套詳盡、深入地熟悉ACM-ICPC競賽的算法及題目的手冊類書籍;
這是一套程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)課程的拓展與提升類書籍;
這是一部上海交通大學(xué)ACM-ICPC隊(duì)的成長史;
這是一部激勵更多學(xué)子勇敢追尋并實(shí)現(xiàn)自己最初的夢想的勵志書。
歷時2年零5個月,終于完成了本系列叢書,編者與隊(duì)員有一種如釋重負(fù)的感覺,因?yàn)槲覀儼殉霭孢@套叢書看得很重,這是我們16年的經(jīng)驗(yàn)與積累,希望對廣大讀者有用。
值此ACM-ICPC進(jìn)入中國大陸16周年、上海交通大學(xué)獲得ACM-ICPC世界冠軍10周年之際,謹(jǐn)以此系列叢書——
紀(jì)念我們曾經(jīng)走過的路、度過的歲月;
獻(xiàn)給所有支持、幫助過我們的人……
俞 勇
2012年10月于上海
前 言
在參加ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM International Collegiate Programming Contest,簡稱ACM-ICPC或ICPC)或其他程序設(shè)計(jì)比賽時,“割題”是必不可少的步驟,它可以幫助選手更深入地理解和掌握算法,鍛煉和提升代碼能力。相信很多選手都有過這樣的經(jīng)歷:面對海量的競賽題目感到無從下手,或是在一道題上百思不得其解而感到力不從心。因此出版這本配有解答的ACM-ICPC題集,希望可以為讀者指引一條割題之路。
本書的選題基本涵蓋了《ACM國際大學(xué)生程序設(shè)計(jì)競賽:知識與入門》和《ACM國際大學(xué)生程序設(shè)計(jì)競賽:算法與代碼》兩書中所涉及的算法,包括數(shù)學(xué)、圖論、計(jì)算幾何、數(shù)據(jù)結(jié)構(gòu)、求解策略、問題選編6個大類。題目來源也可謂包羅萬象,包括歷年ACM-ICPC的分區(qū)賽、總決賽,各個在線評測系統(tǒng):POJ、ZOJ、UVa、Ural、SGU、SPOJ、TC,以及各國的奧林匹克信息學(xué)(Olympiad in lnformatics,簡稱OI)競賽。全書分為兩個部分,第一部分“例題精講”針對各個算法配備經(jīng)典例題,并提供細(xì)致的解題思路,讀者可以通過這一部分學(xué)習(xí)和掌握算法;第二部分“海量題庫”按照算法分類羅列出大量習(xí)題,并提供相應(yīng)的題解思路,讀者可以利用這一部分的題目進(jìn)行練習(xí)和訓(xùn)練,更加熟練地運(yùn)用各類算法。
我們在收集題目時,按照題目難易程度由易到難的順序分為5檔:★☆☆☆☆(1顆星)、★★☆☆☆(2顆星)、★★★☆☆(3顆星)、★★★★☆(4顆星)、★★★★★(5顆星),其中1顆星屬于分區(qū)賽的“前期題”,而5顆星則屬于“后期題”、“防退場題”?紤]到1顆星幾乎沒有思考難度,以及限于本書的篇幅,我們沒有將其收錄到書中,而其余4檔難度的題目則適合各種程度的選手。
本書編寫工作歷時兩年多,參與編寫工作的人員全部為上海交通大學(xué)ACM-ICPC隊(duì)的現(xiàn)役隊(duì)員,他們在親力親為割題的基礎(chǔ)上,將解題思路書寫成冊。書中隨處可見他們的思維過程以及做題時所遇到的困難,相信讀者或多或少會產(chǎn)生些共鳴,從而獲得啟發(fā)。同時,本書的編寫也得到上海交通大學(xué)ACM-ICPC隊(duì)的退役隊(duì)員的大力幫助,他們參與選題、寫稿、審
稿等工作。
參與本書寫稿、審稿的人員主要有(按姓氏筆畫為序):尹天蛟、王凱南、戎術(shù)、劉奇、劉彥、劉爽、任春旭、李說、陳爽、陳彬毅、陳楠昕、佘召臣、張弘毅、張健夫、張捷均、楊思逸、壽鶴鳴、易茜、金斌、金天行、周玉姣、林承宇、胡張廣達(dá)、饒國騰、郭曉旭、黃偲、黃文瀚、曹雪智、章雍哲、商靜波、彭上夫、譚天、繆沛晗、瞿鈞等。
參與本書選題工作的人員主要有(按姓氏筆畫為序):陳明騁、陳澤佳、吳卓杰、張培超、鄭曌、姜嘯、曹正等。
在此,衷心感謝所有為此書出版做出直接或間接貢獻(xiàn)的人!也真心祝愿此書能夠給更多讀者帶來“割題”的快樂!
由于時間倉促,作者水平有限,疏漏、不當(dāng)和不足之處在所難免,真誠地希望專家和讀者朋友們不吝賜教。如果您在閱讀和使用此書過程中發(fā)現(xiàn)任何問題或有任何建議,懇請發(fā)郵件,我們將不勝感激。
編 者
2012年10月于上海
俞勇,1961年生于上海,現(xiàn)為上海交通大學(xué)教授、博士生導(dǎo)師。1986年畢業(yè)于華東師范大學(xué)計(jì)算機(jī)科學(xué)系,獲碩士學(xué)位。畢業(yè)后在上海交通大學(xué)任教至今,,1996年至今擔(dān)任上海交通大學(xué)ACM國際大學(xué)生程序設(shè)計(jì)競賽領(lǐng)隊(duì)、主教練,3次率隊(duì)奪得ACM國際大學(xué)生程序設(shè)計(jì)競賽世界冠軍,上海交通大學(xué)成為該賽事亞洲第一個獲得冠軍、全球第三個“三冠王”的大學(xué),2002、2012年相繼獲得“杰出教練獎”、“功勛教練獎”。
俞勇教授曾主編教材或著作4本、譯著3本,先后主持教育部教育教學(xué)改革項(xiàng)目2項(xiàng),獲得國家級和上海市教學(xué)成果獎7項(xiàng),上海市優(yōu)秀教材獎2項(xiàng),并為國家精品課程“數(shù)據(jù)結(jié)構(gòu)”、上海市“程序設(shè)計(jì)類基礎(chǔ)課程教學(xué)團(tuán)隊(duì)”主持人、、從事Web搜索與挖掘研究,先后主持國家自然科學(xué)基金、863計(jì)劃等十余項(xiàng),發(fā)表重要國際會議和期刊學(xué)術(shù)論文百余篇,
俞勇教授曾獲得國務(wù)院特殊津貼、“全國師德標(biāo)兵”、“寶鋼優(yōu)秀教師特等獎”、“上海市教學(xué)名師”、“上海市五一勞動獎?wù)隆、“上海市模范教師”、“上海交通大學(xué)校長獎”、“上海交通大學(xué)最受學(xué)生歡迎教師”、“上海交通大學(xué)最受研究生歡迎導(dǎo)師”等榮譽(yù)。曾被中央電視臺新聞聯(lián)播、上海教育臺、光明日報、文匯報等十多家媒體報道。
第一部分 例題精講
第1章 數(shù)學(xué)
1.1 概率
Coupons
Generator
1.2 代數(shù)
1.2.1 Polya
Arifin Dhaka (First Love Part2)
1.2.2 矩陣
Tower
XX Language
1.2.3 線性方程組
Ars Longa
1.2.4 線性規(guī)劃
Expensive Drink
1.3 組合
1.3.1 基本排列組合
The Unreal Tournament
1.3.2 容斥原理
Jackpot
The Almost Lucky Numbers
1.3.3 生成函數(shù)
Vasva's Dad
1.3.4 生成樹計(jì)數(shù)
Organising the Organisation
1.3.5 綜合
Hero of Our Time
Permutation
1.4博弈
Battle for the Ring
Fool's Game
Points Game
1.5 數(shù)論
1.5.1 模線性方程
Integer Sequences
1.5.2 歐幾里得
Wizards
1.5.3 歐拉定理
Strange Limit
1.5.4 歐拉函數(shù)
GCD Determinant
1.5.5 平方剩余
Square Root
1.5.6 原根
Fermat's Last Theorem
1.5.7 整除與剩余
Brute-Force Algorithm
Integral Roots
VMan's Problem
1.5.8 中國剩余定理
Voyager 1
1.6 分析
Bridge
第2章 數(shù)據(jù)結(jié)構(gòu)
2.1 優(yōu)先隊(duì)列
The Lazy Programmer
2.2 線性表
Book Pile
2.3 散列表
Censored!
6.1.5 Rabin-Karp
Square Palindrome
6.2 最近公共祖先
The Merchant
Transportation Network
Design the city
6.3 2-SAT
Game with cards
Cipher
6.4 快速傅立葉變換
K-neighbor substrings
第二部分 題庫
4 Values Whose Sum is 0
8G Island
A Binary Apple Tree
A Dinner with
Schwarzenegger! ! !
A Foldy but a Goody
A Game with Colored Balls
A Line Painting
A Secret Book
A Simple Pendulum
Abelian Groups
Aerodynamic
Again Palindrome
Aaainst Mammoths
Air Conditioning
Machinery
All Your Bases Belong to Us
Alphabet
Alternating Sum of Digits
Always an Integer
Ampluplulic Carbon
Molecules
Anansi's Cobweb
Anaent decoration
Angry Teacher
Anniversary Party
Another Chocolate Maniac
Another Minimum
Spamung Tree
Antsll
Ants
Apple or Doughnut
Archipelago
Area 51
Arrays
Art ofWar
Asteroids
Astronomy
Autocompletion
Automaton
B-Station
Balance
Barisal Stadium
Battle
Battle of the Triangle
Battle
Be a Smart Raftsman
Be Wary of Roses
Beloved Sons
Best Cow Line, Gold
Bigger is Better
Binary Lexicographic
Sequence
Bingo
Bishops
Bit Compressor
Bitmap
Black & White
……