首页 > 代码库 > 算法竞赛入门经典+挑战编程+USACO

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成。打牢基础,厚积薄发   

一、UVaOJ http://uva.onlinejudge.org  

西班牙Valladolid大学的程序在线评测系统,是历史最悠久、最著名的OJ。   

二、《算法竞赛入门经典》 刘汝佳  (UVaOJ  351道题)  

以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   

AOAPC I是刘汝佳(大名鼎鼎的SRbGa)写的《算法竞赛入门经典》,在书中每章最后一节都推荐了一些UVaOJ上的题目作为课后练习题。《算法竞赛入门经典》全书内容分为三部分:语言篇、算法篇和竞赛篇。本书的特点是以讲解例子为主、引入相关知识,适合于培养自学能力、锻炼脑力、扩展知识面、训练编程技巧,竞赛训练的针对性非常强,包括附录都是为了辅助训练准备的,是一本非常优秀的编程竞赛入门基础书。但本书不是一个完整详细讲解语言、数据结构和算法知识的教材或者手册。虽然书中自称适合零基础的初学者,但显然是理解能力非常强的一小部分初学者,大多数初学者在使用本书练习编程的时候,还是需要一本C语言教材、数据结构和算法教材。   
   

第1部分语言篇(前4章)简要介绍了C语言的知识,有针对性的讲解了C语言在程序设计竞赛中常见的应用,这些是一般C语言书中不涉及的,对竞赛入门是大有帮助。虽然这一部分从内容设计上看是针对零编程基础的读者,但是作为C语言入门显然是不足够的、并且跨度较大。   


学完后除了完成书上的练习题外,还应该可以解决UVA中: Volume 0. Getting Started   12道题   
   

第2部分算法篇(5~8章),从简单的编程题目开始,引入数据结构和算法的基础知识。并且介绍了如何在Online Judge系统(OJ)上做题,进而引导读者开始编程训练,进入程序设计竞赛的领域。 

第5章,基础题目,        Volume 1. Elementary Problem Solving   57道题。 

第6章,基础数据结构, Volume 2. Data Structures        32道题   

第7章,暴力,                Volume 3. Brute Force                 68道题     

第8章,算法设计,          Volume 4. Algorithm Design    34道题。 

第3部分竞赛篇(9~11章),在第2部分的基础上,介绍了一些竞赛常用的基础知识和思路,进一步练习编程能力,培养求解问题的建模能力。 

第9章,动态规划, Volume 5. Dynamic Programming    60道题。 

第10章,数学方法,Volume 6. Mathematical Concepts and Methods   62道题。  

第11章,图论模型,Volume 7. Graph Algorithms and Implementation Techniques  26道题。 

三、《挑战编程》 Programming challenge  (UVaOJ 112道题目)      
        作者:(美国)斯基纳 (Sterven S.Skiena) 译者:刘汝佳 
        Steven S.Skiena是美国Stony Brook大学计算机教授,研究方向包括图、串和几何算法的设计和应用(尤其是生物方面)。他曾获ONR青年研究员奖和IEEE计算机科学与工程本科教学奖,并著有四本书籍,包括“The Algorithm Design Manual”和“Calculated Bets:Computers,Gambling,andMathematical Modeling to Win”。 
       译者序:本书的目标读者便是那些已经具备初步的编程技能,对程序设计竞赛充满好奇,希望有机会武装自己、接受编程挑战的人,以及他们的老师和教练(甚至父母)。即使不参加任何竞赛,从本书的编程挑战中学到的东西,也会对程序员的职业生涯产生重要影响,更不用说这些挑战本身就是充满乐趣、引人入胜的。 
  
        第一章:入门  
        1.1 PC/UVa 题号: 110101/100  The 3n+1 problem (3n+1 问题)   
        1.2 PC/UVa 题号: 110102/10189 Minesweeper (扫雷)   
        1.3 PC/UVa 题号: 110103/10137 The Trip (旅行)   
        1.4 PC/UVa 题号: 110104/706  LC-Display (液晶显示屏)   
        1.5 PC/UVa 题号: 110105/10267 Graphical Editor (图形化编辑器)   
        1.6 PC/UVa 题号: 110106/10033 Interpreter (解释器)   
        1.7 PC/UVa 题号: 110107/10196 Check the Check (将军)   
        1.8 PC/UVa 题号: 110108/10142 Australian Voting (澳大利亚投票)   
          
        第二章:数据结构  
        2.1 PC/UVa 题号: 110201/10038 Jolly Jumpers (快乐的跳跃者)   
        2.2 PC/UVa 题号: 110202/10315 Poker Hands (扑克牌型)   
        2.3 PC/UVa 题号: 110203/10050 Hartals (罢工)   
        2.4 PC/UVa 题号: 110204/843  Crypt Kicker (解密)   
        2.5 PC/UVa 题号: 110205/10205 Stack ’em Up (完美洗牌术)   
        2.6 PC/UVa 题号: 110206/10044 Erdos Numbers (Erdos 数)   
        2.7 PC/UVa 题号: 110207/10258 Contest Scoreboard (比赛计分板)   
        2.8 PC/UVa 题号: 110208/10149 Yahtzee (Yahtzee 游戏)   
  
        第三章:字符串  
        3.1 PC/UVa 题号: 110301/10082 WERTYU (WERTYU 键盘)   
        3.2 PC/UVa 题号: 110302/10010 Where’s Waldorf?(寻找单词)   
        3.3 PC/UVa 题号: 110303/10252 Common Permutation (公共排列)   
        3.4 PC/UVa 题号: 110304/850  Crypt Kicker II (解密 II)   
        3.5 PC/UVa 题号: 110305/10188 Automated Judge Script (自动评测脚本)   
        3.6 PC/UVa 题号: 110306/10132 File Fragmentation (文件碎片)   
        3.7 PC/UVa 题号: 110307/10150 Doublets (Doublets 序列)   
        3.8 PC/UVa 题号: 110308/848  Fmt (Fmt 程序)   
  
        第四章:排序  
        4.1 PC/UVa 题号: 110401/10041 Vito’s Family (Vito 家族)   
        4.2 PC/UVa 题号: 110402/120  Stacks of Flapjacks (煎饼堆)   
        4.3 PC/UVa 题号: 110403/10037 Bridge (过桥)   
        4.4 PC/UVa 题号: 110404/10191 Longest Nap (最长打盹时间)   
        4.5 PC/UVa 题号: 110405/10026 Shoemaker’s Problem (鞋匠的烦恼)   
        4.6 PC/UVa 题号: 110406/10138 CDVII (CDVII 高速公路)   
        4.7 PC/UVa 题号: 110407/10152 ShellSort (龟壳排序)   
        4.8 PC/UVa 题号: 110408/10194 Football (aka Soccer) (足球)   
  
        第五章:算术与代数  
        5.1 PC/UVa 题号: 110501/10035 Primary Arithmetic (小学生算术)   
        5.2 PC/UVa 题号: 110502/10018 Reverse and Add (反转相加)   
        5.3 PC/UVa 题号: 110503/701  The Archeologist’s Dilemma (考古学家的烦恼)   
        5.4 PC/UVa 题号: 110504/10127 Ones (仅由 1 组成的数)   
        5.5 PC/UVa 题号: 110505/847  A Multiplication Game (乘法游戏)   
        5.6 PC/UVa 题号: 110506/10105 Polynomial Coefficients (多项式系数)   
        5.7 PC/UVa 题号: 110507/10077 The Stern-Brocot Number System (Stern-Brocot 代数系统)  
        5.8 PC/UVa 题号: 110508/10202 Pairsumonious Numbers (两两之和)   
  
        第六章:组合数学  
        6.1 PC/UVa 题号: 110601/10183 How Many Fibs? (斐波那契计数)   
        6.2 PC/UVa 题号: 110602/10213 How Many Pieces of Land? (土地分割)   
        6.3 PC/UVa 题号: 110603/10198 Counting (数数)   
        6.4 PC/UVa 题号: 110604/10157 Expressions (括号表达式)   
        6.5 PC/UVa 题号: 110605/10247 Complete Tree Labeling (完全树标号)   
        6.6 PC/UVa 题号: 110606/10254 The Priest Mathematician (牧师数学家)   
        6.7 PC/UVa 题号: 110607/10049 Self-describing Sequence (自描述序列)   
        6.8 PC/UVa 题号: 110608/846  Steps (数轴行走)   
  
        第七章:数论  
        7.1 PC/UVa 题号: 110701/10110 Light, More Light (开灯与关灯)   
        7.2 PC/UVa 题号: 110702/10006 Carmichael Numbers (Carmichael 数)   
        7.3 PC/UVa 题号: 110703/10104 Euclid Problem (欧几里德问题)   
        7.4 PC/UVa 题号: 110704/10139 Factovisors (阶乘与整除)   
        7.5 PC/UVa 题号: 110705/10168 Summation of Four Primes (四素数之和)   
        7.6 PC/UVa 题号: 110706/10042 Smith Numbers (Smith 数)   
        7.7 PC/UVa 题号: 110707/10090 Marbles (弹珠)   
        7.8 PC/UVa 题号: 110708/10089 Repackaging (重新打包)

        第八章:回溯法  
        8.1 PC/UVa 题号: 110801/861  Little Bishops (棋盘上的象)   
        8.2 PC/UVa 题号: 110802/10181 15-Puzzle Problem (15 数码游戏)   
        8.3 PC/UVa 题号: 110803/10128 Queue (队伍)   
        8.4 PC/UVa 题号: 110804/10160 Servicing Stations (服务站)   
        8.5 PC/UVa 题号: 110805/10032 Tug of War (拔河)   
        8.6 PC/UVa 题号: 110806/10001 Garden of Eden (伊甸园)   
        8.7 PC/UVa 题号: 110807/704  Colour Hash (色彩缤纷游戏)   
        8.8 PC/UVa 题号: 110808/10270 Bigger Square Please... (拼接正方形)   
  
        第九章:图遍历  
        9.1 PC/UVa 题号: 110901/10004 Bicoloring (双着色) 
        9.2 PC/UVa 题号: 110902/10067 Playing With Wheels (摆弄轮子)    
        9.3 PC/UVa 题号: 110903/10099 The Tourist Guide (导游)    
        9.4 PC/UVa 题号: 110904/705  Slash Maze (斜线迷宫)    
        9.5 PC/UVa 题号: 110905/10029 Edit Step Ladders (递变阶梯)    
        9.6 PC/UVa 题号: 110906/10051 Tower of Cubes (立方体之塔)    
        9.7 PC/UVa 题号: 110907/10187 From Dusk till Dawn (从黄昏到拂晓)    
        9.8 PC/UVa 题号: 110908/10276 Hanoi Tower Troubles Again! (汉诺塔卷土重来!)    
  
        第十章:图算法  
        10.1 PC/UVa 题号: 111001/10034 Freckles (斑点)    
        10.2 PC/UVa 题号: 111002/10054 The Necklace (项链)    
        10.3 PC/UVa 题号: 111003/10278 Fire Station (消防站)    
        10.4 PC/UVa 题号: 111004/10039 Railroads (铁路)    
        10.5 PC/UVa 题号: 111005/10158 War (战争)    
        10.6 PC/UVa 题号: 111006/10199 Tourist Guide (导游)    
        10.7 PC/UVa 题号: 111007/10249 The Grand Dinner (丰盛的晚餐)    
        10.8 PC/UVa 题号: 111008/10092 The Problem With the Problem Setter (命题者的难题)    
  
        第十一章:动态规划  
        11.1 PC/UVa 题号: 111101/10131 Is Bigger Smarter? (越大越聪明?)    
        11.2 PC/UVa 题号: 111102/10069 Distinct Subsequences (不同的子序列)    
        11.3 PC/UVa 题号: 111103/10154 Weights and Measures (重量和力量)    
        11.4 PC/UVa 题号: 111104/116  Unidirectional TSP (单向旅行商问题)    
        11.5 PC/UVa 题号: 111105/10003 Cutting Sticks (切割木棍)    
        11.6 PC/UVa 题号: 111106/10261 Ferry Loading (渡船装载)     
        11.7 PC/UVa 题号: 111107/10271 Chopsticks (筷子)    
        11.8 PC/UVa 题号: 111108/10201 Adventures in Moving: Part IV (搬家大冒险:第四部) 
  
        第十二章:网格  
        12.1 PC/UVa 题号: 111201/10161 Ant on a Chessboard (棋盘上的蚂蚁)    
        12.2 PC/UVa 题号: 111202/10047 The Monocycle(独轮车)    
        12.3 PC/UVa 题号: 111203/10159 Star (六角星)    
        12.4 PC/UVa 题号: 111204/10182 Bee Maja (蜜蜂 Maja)    
        12.5 PC/UVa 题号: 111205/707  Robbery (抢劫)            
        12.6 PC/UVa 题号: 111206/10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes? (2/3/4-维立方体?)
        12.7 PC/UVa 题号: 111207/10233 Dermuba Triangle (Dermuba 三角)    
        12.8 PC/UVa 题号: 111208/10075 Airlines (航线)    
  
        第十三章:几何  
        13.1 PC/UVa 题号: 111301/10310 Dog and Gopher (狗拿地鼠)    
        13.2 PC/UVa 题号: 111302/10180 Rope Crisis in Ropeland! (绳子王国的危机!)    
        13.3 PC/UVa 题号: 111303/10195 The Knights of the Round Table (圆桌骑士)    
        13.4 PC/UVa 题号: 111304/10136 Chocolate Chip Cookies (巧克力片饼干)    
        13.5 PC/UVa 题号: 111305/10167 Birthday Cake (生日蛋糕)    
        13.6 PC/UVa 题号: 111306/10215 The Largest/Smallest Box... (最大/最小的盒子)   
        13.7 PC/UVa 题号: 111307/10209 Is This Integration? (需要积分吗?)    
        13.8 PC/UVa 题号: 111308/10012 How Big Is It? (它有多大?)    
  
        第十四章:计算几何  
        14.1 PC/UVa 题号: 111401/10135 Herding Frosh (新生集会)    
        14.2 PC/UVa 题号: 111402/10245 The Closest Pair Problem (最近点对问题)    
        14.3 PC/UVa 题号: 111403/10043 Chainsaw Massacre (电锯惊魂)    
        14.4 PC/UVa 题号: 111404/10084 Hotter Colder (冷热游戏)    
        14.5 PC/UVa 题号: 111405/10065 Useless Tile Packers (没用的瓷砖打包公司)    
        14.6 PC/UVa 题号: 111406/849  Radar Tracking (雷达追踪)    
        14.7 PC/UVa 题号: 111402/10088 Trees on My Island (岛上的树)    
        14.8 PC/UVa 题号: 111408/10117 Nice Milk (美味的牛奶)   

 

四、USACO http://www.nocow.cn/index.php/USACO_Training (USACO 97道题) 

USA Computing Olympiad 美国高校的信息学测评网站,也是美国中学生的官方竞赛网站。 

美国著名在线题库,专门为信息学竞赛选手准备。 

全英文界面,但有非官方的中文翻译。推荐直接阅读英语原文,既准确可靠又可提高英语水平。 

网站的Training题目全面,每道题附有详细题解,可查看测试数据和运行结果,便于调试、发现错误并改正。采用章节递进的层次结构,由易到难,讲授知识、练习编程结合,题目必须依次完成,避免了只挑简单题做的行为。 

1 Chapter1-Getting started(入门)    21道题  
1.1 Section 1.0 
1.2 Section 1.1 
1.3 Section 1.2 
1.4 Section 1.3 
1.5 Section 1.4 
1.6 Section 1.5 
2 Chapter2-Bigger Challenges(更大的挑战)   19道题 
2.1 Section 2.1 
2.2 Section 2.2 
2.3 Section 2.3 
2.4 Section 2.4 
3 Chapter3-Techniques more subtle(更微妙的技术)   21道题 
3.1 Section 3.1 
3.2 Section 3.2 
3.3 Section 3.3 
3.4 Section 3.4 
4 Chapter4-Advanced algorithms and difficult drills(高级算法与困难的习题)   15道题 
4.1 Section 4.1 
4.2 Section 4.2 
4.3 Section 4.3 
4.4 Section 4.4 
5 Chapter5-Serious challenges(严峻的挑战)  18道题  
5.1 Section 5.1 
5.2 Section 5.2 
5.3 Section 5.3 
5.4 Section 5.4 
5.5 Section 5.5 
6 Chapter6-Contest Practice(大赛的实践)    3道题 
6.1 Section 6.1