ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM-ICPC)系列叢書:題目與解讀
定 價(jià):69 元
- 作者:俞勇 編
- 出版時(shí)間:2012/12/1
- ISBN:9787302294924
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.1
- 頁(yè)碼:623
- 紙張:膠版紙
- 版次:1
- 開本:16開
ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM-ICPC)是國(guó)際上公認(rèn)的水平最高、規(guī)模最大、影響最深的計(jì)算機(jī)專業(yè)競(jìng)賽,目前全球參與人數(shù)達(dá)20多萬(wàn)!禔CM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM-ICPC)系列叢書:題目與解讀》作者將16年的教練經(jīng)驗(yàn)與積累撰寫成本系列叢書,全面、深入而系統(tǒng)地將ACM-ICPC展現(xiàn)給讀者、本系列叢書包括《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:知識(shí)與入門》、《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)》、《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:題目與解讀》、《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:比賽與思考》等4冊(cè),其中《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:知識(shí)與入門》介紹了ACM-ICPC的知識(shí)及其分類、進(jìn)階與角色、在線評(píng)測(cè)系統(tǒng);《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)》介紹了ACM-ICPC算法分類、實(shí)現(xiàn)及索引;《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:題目與解讀》為各類算法配備經(jīng)典例題及題庫(kù),并提供解題思路;《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:比賽與思考》介紹了上海交通大學(xué)ACM-ICPC的訓(xùn)練及比賽,包括訓(xùn)練札記、賽場(chǎng)風(fēng)云、賽季縱橫、冠軍之路、崢嶸歲月。
《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM-ICPC)系列叢書:題目與解讀》適用于參加ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的本科生和研究生,對(duì)參加青少年信息學(xué)奧林匹克競(jìng)賽的中學(xué)生也很有指導(dǎo)價(jià)值。同時(shí),作為程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)課程的拓展與提升,本叢書也是難得的教學(xué)輔助讀物。
寫在最前面的話
自從上海交通大學(xué)2002年第一次、2005年第二次獲得ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM International Collegiate Programming Contest,簡(jiǎn)稱ACM-ICPC或ICPC)世界冠軍以來(lái),總有記者邀請(qǐng)編者撰寫冠軍之路類的文章,也總有出版社希望編者出版ACM-ICPC競(jìng)賽類的書籍,因?yàn)闆](méi)有想清楚怎么寫,所以一直沒(méi)動(dòng)筆。直到2010年上海交通大學(xué)第三次獲得ACM-ICPC世界冠軍后,編者決定出版一套系列叢書,包括《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:知識(shí)與入門》、《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)》、《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:題目與解讀》及《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:比賽與思考》4冊(cè)書籍,全面、深入而系統(tǒng)地將ACM-ICPC展現(xiàn)給讀者,把上海交通大學(xué)十多年來(lái)對(duì)ACM-ICPC競(jìng)賽的感悟分享給讀者。
編寫此系列叢書的另一個(gè)重要原因是ACM-ICPC競(jìng)賽在中國(guó)大陸的蓬勃興起。自從1996年ACM-ICPC引入中國(guó)大陸,前六屆僅設(shè)立1個(gè)賽區(qū),目前每年一般設(shè)立5個(gè)賽區(qū),并已有30所高校承辦過(guò)亞洲區(qū)預(yù)賽;參賽學(xué)校從不滿30所,到如今已達(dá)150多所;人數(shù)從不到200人,到如今已近15萬(wàn);總決賽名額從起初的3個(gè),到如今已超過(guò)15個(gè)。同時(shí),中國(guó)大陸在ACM-ICPC競(jìng)賽上所取得的成績(jī)也舉世矚目。清華大學(xué)9次獲得總決賽獎(jiǎng)牌(3金5銀1銅),位居獎(jiǎng)牌榜之首,是實(shí)力最強(qiáng)、表現(xiàn)最穩(wěn)定的高校;上海交通大學(xué)8次獲得總決賽獎(jiǎng)牌(4金3銀1銅),3次奪得世界冠軍,算是目前國(guó)內(nèi)成績(jī)最好的高校;中山大學(xué)4次獲得總決賽獎(jiǎng)牌(2銀2銅),在生源不占優(yōu)勢(shì)的情況下,這一成績(jī)令人敬佩;復(fù)旦大學(xué)3次獲得總決賽獎(jiǎng)牌(1銀2銅),是公認(rèn)的強(qiáng)校;浙江大學(xué)2次獲得總決賽獎(jiǎng)牌(1金1銀),1次奪得世界冠軍,再次讓國(guó)人歡欣鼓舞;北京大學(xué)1次獲得總決賽獎(jiǎng)牌(1銅),隊(duì)員的綜合實(shí)力堪稱一流;最難能可貴的是,華南理工大學(xué)也獲得過(guò)總決賽的獎(jiǎng)牌(1銅),它告訴我們,ACM-ICPC不僅僅是“強(qiáng)!敝g的“對(duì)話”,只要堅(jiān)持參與就會(huì)斬獲成果。另外,至今已有37所大陸高校參加過(guò)全球總決賽,且不論成績(jī)?nèi)绾,他們(cè)谫悎?chǎng)上的奮斗亦值得稱道。
本系列叢書的第一冊(cè)《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:知識(shí)與入門》分為三個(gè)部分。知識(shí)點(diǎn)部分基本涵蓋了競(jìng)賽中所涉及的主要知識(shí)點(diǎn),包括數(shù)學(xué)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、圖論、計(jì)算幾何、論題選編、求解策略等六個(gè)大類內(nèi)容。入門與進(jìn)階部分介紹了包括如何快速入門、如何提高自身以及團(tuán)隊(duì)水平等,主要根據(jù)上海交通大學(xué)ACM-ICPC隊(duì)多年參賽經(jīng)驗(yàn)總結(jié)而來(lái)。在線資源部分對(duì)一些常用的在線評(píng)測(cè)系統(tǒng)和網(wǎng)上比賽進(jìn)行了介紹。
本系列叢書的第二冊(cè)《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)》涵蓋了大部分ACM-ICPC競(jìng)賽常用的經(jīng)典算法,包括數(shù)學(xué)、圖論、數(shù)據(jù)結(jié)構(gòu)、計(jì)算幾何、論題選編五個(gè)大類,對(duì)每個(gè)算法的代碼實(shí)現(xiàn),都配有接口說(shuō)明以及簡(jiǎn)略的算法闡述,并提供算法的完整程序。并收集了一些實(shí)用的知識(shí)點(diǎn)及積分表,方便讀者查找使用。
本系列叢書的第三冊(cè)《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:題目與解讀》分為兩個(gè)部分。例題精講部分針對(duì)第二冊(cè)《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)》中的算法配備經(jīng)典例題,并提供細(xì)致的解題思路,讀者可以通過(guò)這一部分學(xué)習(xí)和掌握算法;海量題庫(kù)部分按照算法分類羅列出大量習(xí)題,并提供相應(yīng)的題解,讀者可以利用這一部分的題目進(jìn)行訓(xùn)練,更加熟練地運(yùn)用各類算法。
本系列叢書的第四冊(cè)《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:比賽與思考》從120多名隊(duì)員、2400余篇文檔中精心挑選、編纂而成的文集,包括訓(xùn)練札記、賽場(chǎng)風(fēng)云、賽季縱橫、冠軍之路、崢嶸歲月,集中展現(xiàn)了上海交通大學(xué)ACM-ICPC隊(duì)16年的奮斗歷程,記載了這些隊(duì)員為了實(shí)現(xiàn)自己的夢(mèng)想而不懈努力、勇于拼搏的故事。
這是一套全面、系統(tǒng)地學(xué)習(xí)ACM-ICPC競(jìng)賽的知識(shí)類書籍;
這是一套詳盡、深入地熟悉ACM-ICPC競(jìng)賽的算法及題目的手冊(cè)類書籍;
這是一套程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)課程的拓展與提升類書籍;
這是一部上海交通大學(xué)ACM-ICPC隊(duì)的成長(zhǎng)史;
這是一部激勵(lì)更多學(xué)子勇敢追尋并實(shí)現(xiàn)自己最初的夢(mèng)想的勵(lì)志書。
歷時(shí)2年零5個(gè)月,終于完成了本系列叢書,編者與隊(duì)員有一種如釋重負(fù)的感覺(jué),因?yàn)槲覀儼殉霭孢@套叢書看得很重,這是我們16年的經(jīng)驗(yàn)與積累,希望對(duì)廣大讀者有用。
值此ACM-ICPC進(jìn)入中國(guó)大陸16周年、上海交通大學(xué)獲得ACM-ICPC世界冠軍10周年之際,謹(jǐn)以此系列叢書——
紀(jì)念我們?cè)?jīng)走過(guò)的路、度過(guò)的歲月;
獻(xiàn)給所有支持、幫助過(guò)我們的人……
俞 勇
2012年10月于上海
前 言
在參加ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM International Collegiate Programming Contest,簡(jiǎn)稱ACM-ICPC或ICPC)或其他程序設(shè)計(jì)比賽時(shí),“割題”是必不可少的步驟,它可以幫助選手更深入地理解和掌握算法,鍛煉和提升代碼能力。相信很多選手都有過(guò)這樣的經(jīng)歷:面對(duì)海量的競(jìng)賽題目感到無(wú)從下手,或是在一道題上百思不得其解而感到力不從心。因此出版這本配有解答的ACM-ICPC題集,希望可以為讀者指引一條割題之路。
本書的選題基本涵蓋了《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:知識(shí)與入門》和《ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與代碼》兩書中所涉及的算法,包括數(shù)學(xué)、圖論、計(jì)算幾何、數(shù)據(jù)結(jié)構(gòu)、求解策略、問(wèn)題選編6個(gè)大類。題目來(lái)源也可謂包羅萬(wàn)象,包括歷年ACM-ICPC的分區(qū)賽、總決賽,各個(gè)在線評(píng)測(cè)系統(tǒng):POJ、ZOJ、UVa、Ural、SGU、SPOJ、TC,以及各國(guó)的奧林匹克信息學(xué)(Olympiad in lnformatics,簡(jiǎn)稱OI)競(jìng)賽。全書分為兩個(gè)部分,第一部分“例題精講”針對(duì)各個(gè)算法配備經(jīng)典例題,并提供細(xì)致的解題思路,讀者可以通過(guò)這一部分學(xué)習(xí)和掌握算法;第二部分“海量題庫(kù)”按照算法分類羅列出大量習(xí)題,并提供相應(yīng)的題解思路,讀者可以利用這一部分的題目進(jìn)行練習(xí)和訓(xùn)練,更加熟練地運(yùn)用各類算法。
我們?cè)谑占}目時(shí),按照題目難易程度由易到難的順序分為5檔:★☆☆☆☆(1顆星)、★★☆☆☆(2顆星)、★★★☆☆(3顆星)、★★★★☆(4顆星)、★★★★★(5顆星),其中1顆星屬于分區(qū)賽的“前期題”,而5顆星則屬于“后期題”、“防退場(chǎng)題”?紤]到1顆星幾乎沒(méi)有思考難度,以及限于本書的篇幅,我們沒(méi)有將其收錄到書中,而其余4檔難度的題目則適合各種程度的選手。
本書編寫工作歷時(shí)兩年多,參與編寫工作的人員全部為上海交通大學(xué)ACM-ICPC隊(duì)的現(xiàn)役隊(duì)員,他們?cè)谟H力親為割題的基礎(chǔ)上,將解題思路書寫成冊(cè)。書中隨處可見(jiàn)他們的思維過(guò)程以及做題時(shí)所遇到的困難,相信讀者或多或少會(huì)產(chǎn)生些共鳴,從而獲得啟發(fā)。同時(shí),本書的編寫也得到上海交通大學(xué)ACM-ICPC隊(duì)的退役隊(duì)員的大力幫助,他們參與選題、寫稿、審
稿等工作。
參與本書寫稿、審稿的人員主要有(按姓氏筆畫為序):尹天蛟、王凱南、戎術(shù)、劉奇、劉彥、劉爽、任春旭、李說(shuō)、陳爽、陳彬毅、陳楠昕、佘召臣、張弘毅、張健夫、張捷均、楊思逸、壽鶴鳴、易茜、金斌、金天行、周玉姣、林承宇、胡張廣達(dá)、饒國(guó)騰、郭曉旭、黃偲、黃文瀚、曹雪智、章雍哲、商靜波、彭上夫、譚天、繆沛晗、瞿鈞等。
參與本書選題工作的人員主要有(按姓氏筆畫為序):陳明騁、陳澤佳、吳卓杰、張培超、鄭曌、姜嘯、曹正等。
在此,衷心感謝所有為此書出版做出直接或間接貢獻(xiàn)的人!也真心祝愿此書能夠給更多讀者帶來(lái)“割題”的快樂(lè)!
由于時(shí)間倉(cāng)促,作者水平有限,疏漏、不當(dāng)和不足之處在所難免,真誠(chéng)地希望專家和讀者朋友們不吝賜教。如果您在閱讀和使用此書過(guò)程中發(fā)現(xiàn)任何問(wèn)題或有任何建議,懇請(qǐng)發(fā)郵件,我們將不勝感激。
編 者
2012年10月于上海
俞勇,1961年生于上海,現(xiàn)為上海交通大學(xué)教授、博士生導(dǎo)師。1986年畢業(yè)于華東師范大學(xué)計(jì)算機(jī)科學(xué)系,獲碩士學(xué)位。畢業(yè)后在上海交通大學(xué)任教至今,,1996年至今擔(dān)任上海交通大學(xué)ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽領(lǐng)隊(duì)、主教練,3次率隊(duì)奪得ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽世界冠軍,上海交通大學(xué)成為該賽事亞洲第一個(gè)獲得冠軍、全球第三個(gè)“三冠王”的大學(xué),2002、2012年相繼獲得“杰出教練獎(jiǎng)”、“功勛教練獎(jiǎng)”。
俞勇教授曾主編教材或著作4本、譯著3本,先后主持教育部教育教學(xué)改革項(xiàng)目2項(xiàng),獲得國(guó)家級(jí)和上海市教學(xué)成果獎(jiǎng)7項(xiàng),上海市優(yōu)秀教材獎(jiǎng)2項(xiàng),并為國(guó)家精品課程“數(shù)據(jù)結(jié)構(gòu)”、上海市“程序設(shè)計(jì)類基礎(chǔ)課程教學(xué)團(tuán)隊(duì)”主持人、、從事Web搜索與挖掘研究,先后主持國(guó)家自然科學(xué)基金、863計(jì)劃等十余項(xiàng),發(fā)表重要國(guó)際會(huì)議和期刊學(xué)術(shù)論文百余篇,
俞勇教授曾獲得國(guó)務(wù)院特殊津貼、“全國(guó)師德標(biāo)兵”、“寶鋼優(yōu)秀教師特等獎(jiǎng)”、“上海市教學(xué)名師”、“上海市五一勞動(dòng)獎(jiǎng)?wù)隆、“上海市模范教師”、“上海交通大學(xué)校長(zhǎng)獎(jiǎng)”、“上海交通大學(xué)最受學(xué)生歡迎教師”、“上海交通大學(xué)最受研究生歡迎導(dǎo)師”等榮譽(yù)。曾被中央電視臺(tái)新聞聯(lián)播、上海教育臺(tái)、光明日?qǐng)?bào)、文匯報(bào)等十多家媒體報(bào)道。
第一部分 例題精講
第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 中國(guó)剩余定理
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
第二部分 題庫(kù)
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
……