算法竞赛入门经典+挑战编程+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

时间: 2024-10-27 03:46:35

算法竞赛入门经典+挑战编程+USACO的相关文章

(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+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”是刘汝佳(大

《算法竞赛入门经典(第二版)》pdf

下载地址:网盘下载 内容简介  · · · · · · <算法竞赛入门经典(第2版)>是一本算法竞赛的入门与提高教材,把C/C++语言.算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧.全书内容分为12 章,包括程序设计入门.循环结构程序设计.数组和字符串.函数和递归.C++与STL入门.数据结构基础.暴力求解法.高效算法设计.动态规划初步.数学概念与方法.图论模型与算法.高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题.书中的代码规范.简洁.易懂,不

算法竞赛入门经典_4.3_递归

看代码 #include <stdio.h> int f(int n){ return n == 0?1:f(n-1)*n; } int main() { printf("%d\n", f(5)); return 0; } 上面f函数使用了递归,递归由两部分组成,一是递归头,二是递归体. 我们使用gcc调试工具 H:\编程书籍学习\算法竞赛入门经典2代码\算法入门经典第四章>b f 'b' 不是内部或外部命令,也不是可运行的程序 或批处理文件. H:\编程书籍学习\算

算法竞赛入门经典-训练指南(10881-Piotr&#39;s Ants)

题目大意: 一根长度为L的木棍一堆蚂蚁爬,向左或向右,速度都为1,若两蚂蚁碰撞则同时转头(转身时间忽略不计),问T时间之后每只蚂蚁的位置: 输入:t,(t个样例),每个样例输入 L,T,n,接下来是n行每行两个数据,一个POS(位置),一个dir(方向): 输出:按输入顺序输出每只蚂蚁的最终位置,若处于碰撞状态则输出Turning,掉下去输出"Fell off": 解题思路: 本题类似于<挑战程序设计>的一道水题(POJ -1852  Ants),思路题:不过本题输入并不一

《算法竞赛入门经典第二版》 P35 习题2-4 子序列的和(subsequence)

/* <算法竞赛入门经典第二版> P35 习题2-4: 输入两个正整数 n < m < 10^6,输出 (1/n)^2 + 1/(n+1)^2 +……+ 1/m^2,保留5位小数. 输入包含多组数据,结束标志为 m=n=0. 有错欢迎指出^_^ */ #include<stdio.h> int main() { int m,n,i,j=1; while(scanf("%d%d",&m,&n) != EOF) { double sum

《算法竞赛入门经典》动态规划复习

codevs 4979 数塔 1 #define N 100 2 #include<iostream> 3 using namespace std; 4 #include<cstdio> 5 int a[N][N],b[N][N],n; 6 int main() 7 { 8 scanf("%d",&n); 9 for(int i=1;i<=n;++i) 10 for(int j=1;j<=i;++j) 11 { 12 scanf("

算法竞赛入门经典训练指南

最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个能力值为m的骑士可以砍掉一个直径不超过x的头,且需要支付x个金币.如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次). 输入格式: 输入包含多组数据.每组数据的第一行为正整数m和n(1<=m,n<=20 000):以下m行每行为一个整数,即恶龙每

棋盘覆盖问题(算法竞赛入门经典)

在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘.显然特殊方格在棋盘上出现的位置有 4^k 种情形.因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘.下图所示的特殊棋盘为 k=2 时 16 个特殊棋盘中的一个. 在棋盘覆盖问题中,要用下图中 4 中不同形态的 L 型骨牌覆盖一个给定的特殊棋牌上除特殊方格以外的所有方格,且任何 2 个 L 型骨牌不得重叠覆盖.易知,在任何一个 2^k * 2^k 的棋盘中,用到的 L 型

【算法竞赛入门经典】【第三章】课后习题(第二部分)

自从蓝桥杯之后,都没写博客了.今天将之前第三章还差的一部分习题答案补上. 3-4整数相加 这一题题目有提示,说选择合适的输入方式,即可简化问题.刚开始没想到cin,结果还用字符串来做,多亏别人提醒我一下,我才想起cin.惭愧啊.. #include <iostream> using namespace std; int main() { int a,b; char op; while(cin>>a>>op>>b){ switch(op){ case '+':