初学者acm的练习题指南

来源:互联网 发布:gis制作栅格数据裁剪 编辑:程序博客网 时间:2024/04/29 16:42
上机练习题参考题

忘了在哪找的啦~~希望对大家有帮助呦
<!--[if !supportLists]-->1.    <!--[endif]-->Programming Basic
Sicily 1830 SZ Fibonacci Sequence, 递归函数, 难度 0
 Sicily 1795 Table tennis, 几何题, 难度0
 Sicily 1798 Alice and Bob, 策略, 难度0
 Sicily 1561 PRIME Number, 难度1
 Sicily 1007 To and Fro, 数组与下标(二维数组),  难度1
 Sicily 1036 Crypto Columns, 二维数组,字符串,排序, 难度1
 Sicily 1813 M进制数问题, 难度 1 
 Sicily 1814 日期计算问题 
1.1 直接枚举
uva 10167 生日蛋糕
uva 11205 损坏的步计数
uva 131 有超能力的纸牌玩家
uva 146 ID码
uva 10098 快速生成有序排列
uva 729 Hamming距离问题
uva 592 逻辑之岛
uva 110 没有循环的排序程序


<!--[if !supportLists]-->2.    <!--[endif]-->Strings
Sicily 1510 Mispelling, 字符串, 难度0
Sicily 1133 SPAM. 输出输入字符串里的合法email地址。
Sicily 1323 Switch text. 字符串处理。
Sicily 1519 Longest Common Subsequence
Sicily 1252 Defining Moment. 字符串划分前后缀
uva 401 回文词
uva 10010 沃尔多夫在哪里
uva 10361 自动做诗机
uva 537 人工智能
uva 409 “借口,借口!”
uva 10878 磁带解码
uva 10815 安迪的第一个词典
uva 644 立即可解码
uva 10115 自动编辑


<!--[if !supportLists]-->3.    <!--[endif]-->Data Structures
 3.1 线性表;堆栈;队列
Sicily 1443 Printer Queue. 基本队列操作。
Sicily 1014 Specialized Four-Dig, 进制转换,字符串,stack, 难度 1
Sicily 1021 couples. 栈, 难度1
uva 127 纸牌游戏
uva 101 木块问题
uva 133 救济金发放
uva 10152 龟壳排序
uva 673 括号平衡
uva 442 矩阵链乘
uva 11111 一般Matrioshka
 uva 11234 表达式
uva 540 小团体队列
uva 10050 罢工


3.2 二叉树


 
  Sicily 1210 二叉树. 二叉树遍历顺序先后中转换,挺经典的。
   uva 112 树求和
   uva 548 树
   uva 297 四分树
   uva 712 S树
   uva 699 落叶
   uva 327 计算简单C表达式
   uva 839 天平
   uva 10562 看图写树
   
   3.3其他
   Sicily 1082 manager. 维护一个能够删除最小元和最大元的数据结构
   Sicily 1310 Right-Heavy Tree. 笛卡尔树相关,复杂度O(N)或O(NlogN)。
   Sicily 1426 Phone List. 电话号码前缀检索,trie树相关。
   Sicily 1149 等价表达式.  判断表达式是否等价(递归求解)
   Sicily 1136 山海经.  n长序列里求m次区间询问的最大连续子区间和。线段树/RMQ
 < !--[if !supportLineBreakNewLine]-->
 < !--[endif]-->


<!--[if !supportLists]-->4.    <!--[endif]-->Searching and Sorting
4.1 一般排序查找
Sicily 1046 Plane Spotting. 排序。
Sicily 1097 LED Modding. 排序。
Sicily 1438 Shopaholic. 排序,隔三求和。
Sicily 1306 Sorting Algorithm. 基本的排序,输出。
Sicily 1194 Message Flood. 单词查找。排序后二分查找,或哈希或平衡二叉树
uva 340 猜数字游戏的提示
uva 10420 战利品列表
uva 10474 大理石在哪?
uva 152 一堆树
uva 299 列车交换
uva 120 煎饼堆
uva 156 反片语
uva 400 Unix的ls命令
uva 123 快速查找
uva 10194 足球
uva 755  “487-32789”
uva 10785 疯狂的命理学家
4.2 哈希表或能用哈希表和STL集合发挥作用的题目
uva 188 完美哈希
uva 10282 字典
uva 10391 复合词
uva 10125 子集和数
uva 10887 语言的连接
uva 141 斑点游戏
uva 10591 快乐的数


<!--[if !supportLists]-->5.    <!--[endif]-->Graph Problems
 5.1 图的遍历
Sicily 1155 Can I Post the letter 判断两点是否可达。(图的遍历)
Sicily 1308 Dependencies among Jobs 图的遍历。
Sicily 1424 奖金. 拓扑排序, 或者深搜
Sicily 1034 Forest. 森林的定义,求最大宽度与深度。(深度优先遍历)
Sicily 1114 Food Cubes. 广度优先遍历给3维空间图染色。(dfs容易栈溢出)
Sicily 1350 Piggy banks. 给出每个点出度为1的有向图,求环的个数。简单题
Sicily 1156 Binary Tree
 uva 572 油田
uva 657 抛色子
uva 784 迷宫探索
uva 705 斜线迷宫
uva 439 骑士移动
uva 532 三维迷宫
uva 10557 XYZZY
 uva 10047 独轮车
uva 10004 二染色
uva 10129 单词
uva 10054 项链
uva 10596 清晨漫步
uva 10305 给任务排序
uva 196 电子表格


5.1 图的算法:最小生成树;最短路;网络流;
Sicily 1031 Campus. 单源最短路,dijkstra。
Sicily 1090 Highways. 最小生成树。
Sicily 1402 Panic Room. 构图求网络最大流
Sicily 1303 Job Assignment. 二分图的最大权匹配
Sicily 1192 Guardian of Decency 求最大独立集,比较特殊可以转二分匹配做。
Sicily 1211 商人的宣传.有向图矩阵乘法,O(n^3*logL);直接迭代也行,O(n*m*L)。简单题
Sicily 1423 魔王bug的2色定理. 构图求网络的最小割。
Sicily 1173 Reliable Nets. 无向图求最小的二连通子图。(数据小可以搜索)
Sicily 1141 猴子的争斗. 完全图最小生成树的方法数,节点全排列: n!*(n^(n-2))
 Sicily 1196 Conflict. 关系闭包的转换
Sicily 1170 Countdown. 建树,统计
Sicily 1326 Apple Tree. 建树,求两结点最近公共祖先。
Sicily 1132 ROUTES. 用括号序列表示树,求两节点最近公共祖先。
uva 567 Risk游戏
uva 10034 斑点
uva 10048 噪音恐惧症
uva 10397 连接校园
uva 10369 北极网络
uva 658 “这不是buf,而是特性”
uva 10099 导游
uva 10801 电梯
uva 10986 发送Email
 uva 558 虫洞
uva 515 国王
uva 104 套汇
uva 125 路径统计
uva 10803 雷山
uva 10330 电力传输
uva 10806 “Dijkstra, Dijkstra”
uva 11045 合身的衣服
uva 753 Unix插头
uva 563 逃脱问题
uva 10746 逃脱问题——大结局
uva 10594 数据流
uva 10985 环和绳子
uva 10608 朋友
uva 10158 战争
uva 10269 马里奥大探险
uva 10273 吃还是不吃


<!--[if !supportLists]-->6.    <!--[endif]-->Combinatorial Search and Heuristic Methods
6. 广度优先搜索
Sicily 1444 Prime Path. 4为质数的转换;广度优先搜索
Sicily 1215 脱离地牢. 有限制的迷宫求两人相遇的最小步骤。(广度优先搜索)
Sicily 1048 Inverso. 广度优先搜索,二进制表示状态判重。
Sicily 1150 简单魔板. 广度优先搜索,全排列的hash函数设计
Sicily 1151 魔板. 广度优先搜索,全排列的hash函数设计
Sicily 1781 Knight. 简单BFS
 Sicily 1135 飞越原野. 最短时间过地图,三维广度优先搜索.
6.2 回溯法
uva 10474 用堆栈重排字母
uva 216 网络连线
uva 639 放车问题
uva 539 卡坦岛
uva 301 运输
uva 10344 算23点
uva 331 交换的方案数
uva 10012 有多大
uva 165 邮票
uva 167 苏丹的继承者
uva 10001 伊甸园
uva 140 带宽
uva 193 图着色
uva 208 救火车


uva 10123 不要歪
uva 10160 服务站
uva 197 拼立方体
uva 185 罗马数字
uva 307 木棍
uva 317 六边形
uva 387 谜题
uva 519 谜题
uva 529 数字链
uva 565 大众批萨
uva 502 DEL命令
uva 322 船
6.3 隐式图深度优先搜索
Sicily 1002 Anti-Prime Sequences. 求和判质数
Sicily 1018 A Card Trick
 Sicily 1050 Numbers & Letters. 类似于计算24点;回溯
Sicily 1317 Sudoku. 数独求解的个数。
Sicily 1171 The Game of Efil. 2^16 dfs枚举棋盘后检测
Sicily 1219 新红黑树. 砍树博弈,min-max搜索或记忆化搜索
Sicily 1180 Pasting Strings. 给10个字符串,求一个排列使得某种权和最大,全排列搜索。
Sicily 1024 Magic Island.无向图的最长路。(深度优先搜索)
Sicily 1107 Simple Puzzle. 按题意搜索,有可能有前置零,输出排序.
Sicily 1152 简单的马周游问题. 搜索,剪枝.
Sicily 1153 马周游问题. 搜索,剪枝,扩展状态节点的时候按目标函数值排序。
Sicily 1378 八数码问题. 启发式搜索。
Sicily 1768 双栈排序. 可以用深搜做。
Sicily 1721 Gray Code. 格雷码
uva 10603 倒水
uva 10422 Fen中的骑士
uva 10085 最远的状态
uva 310 L系统
uva 321 新别墅
uva 704 彩色转盘


<!--[if !supportLists]-->7.    <!--[endif]-->Divide and Conquer, Greedy Algorithms, Randomize Algorithms
Sicily 1211 商人的宣传. 求两点间L步到达的方法数.
Sicily 1137 河床 求一个最长的连续区间满足其中的最小数和最大数之差不大于k。
Sicily 1411 Pie. 二分
Sicily 1198 Substring. 8个串排出最小字典序。(用ab<ba做比较函数排序)
Sicily 1140 国王的遗产. 砍不大于n/2个节点的最大树枝
Sicily 1134 积木分发. 从小到大排序.
Sicily 1172 Queens, Knights and Pawns. 染色模拟
Sicily 1193 Up the Stairs. 搬箱子上楼梯.


<!--[if !supportLists]-->8.    <!--[endif]-->Dynamic Programming
Sicily 1001 Alphacode, dp基本题
Sicily 1264 Atomic Car Race. dp基本题.
Sicily 1822 Fight Club. dp
 Sicily 1342 开心的金明. 背包dp
 Sicily 1146 采药. 01背包 剩余类dp
 Sicily 1782 Knapsack. 01背包
Sicily 1077 Cash Maching. 可采用类似多重背包方式解决
Sicily 1750 运动会. 多重背包
Sicily 1346 金明的预算. 有依赖关系的背包
Sicily 1091 Maximum Sum(最大m段子段和问题)
Sicily 1888 Circular Sequence (求一次最大MAX,判断是否是整个串,如果是就求一次最小MIN,然后MAX-MIN就是最后解,否则MAX就是解)
Sicily 1564 Housing. 类似硬币问题
Sicily 1902 Counting Problem. 类似硬币问题
Sicily 1685 Missile. 最长不单调子序列,数据小,O(n^2))
Sicily 1448 Antimonotonicity. 最长不单调子序列,数据大,O(n)
 Sicily 1345 能量项链. 
Sicily 1419 On the run(牛奶快递), dp 
 Sicily 1019 Apple Tree. 树型dp,边dfs边更新最优值。经典LCA的简化版。
Sicily 1138 寻宝之旅. dp
 Sicily 1225 电子眼. 树+一边的图上求最小边覆盖,树型dp.
 Sicily 1404 Hie with the Pie. 状态压缩dp
 Sicily 1103 The Top-Code. 字符串划分dp,要求字典序输出方案时的状态表示方法。
Sicily 1123 The Longest Walk. 有向图求任意起终点的无重复点的最长路,状态压缩dp
 Sicily 1010 Zipper 
 Sicily 1011 Lenny's Lucky Lotto 
 Sicily 1057 Rhyme Schemes 
 Sicily 1073 Pearls 
 Sicily 1148 过河.(路径压缩,贪心动态规划)
Sicily 1158 Pick numbers. 
 Sicily 1222 单词选择.(这题的hash很恶心)
Sicily 1687 Permutation 
 Sicily 1828 Minimal 


<!--[if !supportLists]-->9.    <!--[endif]-->Numerical Algorithms, Algebraic Problems
Sicily 1201 01000001. 大整数二进制加法
Sicily 1381 a * b. 高精度乘法
Sicily 1240 Faulty Odometer. 十进制数少了4的计数
Sicily 1199 GCD. 求小于N且与N的GCD大于M的数个数.
Sicily 1190 Reduced ID Number. 找最小的数使得给出的所有数mod它的结果不同
Sicily 1099 Packing Passengers. 线性模方程


uva 424 整数查询. 高精度
uva 10106 乘积. 高精度
uva 465 溢出. 高精度
uva 748 求幂. 高精度
uva 10494 如果我们重返童年. 高精度


uva 113 密码的力量
uva 10161 棋盘上的蚂蚁
uva 253 立方体着色
uva 621 秘密研究
uva 10025 ?1?2?...?n=k
 uva 591 一盒砖
uva 107 帽子里的猫
uva 573 蜗牛
uva 846 部数
uva 10499 正义的土地
uva 10790 多少个交点?
uva 11044 寻找Nessy
 uva 10719 多项式除法的商
uva 10177 2/3/4维方形/方体
uva 10916 超级计算机
uva 10970 大块巧克力
uva 10014 简单计算
Computation Geometry Algorithms
Sicily 1175 Swamp Things. 平面上N个点,求一条经过最多点的直线。
Sicily 1234 Playground. 半圆圈能否构成封闭圈。平面图,转为判断多边形能否构成
Sicily 1179 Extrusion. 多边形求面积
Sicily 1045 Space Management. 求平面上矩形叠加的总面积,矩形切割或者离散化.
Sicily 1092 Stars in Your Window. 线段树.
Sicily 1145 校门外的树. 离散化或O(n)的扫描
Sicily 1223 防御力场. 求一条过目标点的直线,使得直线一边的点最少
Sicily 1216 野外行军. 光程最短路
Sicily 1118 War on Weather. 球外一点与球切线直接判断范围。


uva 10250 另两棵树
uva 579 时钟的指针
uva 375 等腰三角形
uva 10387 台球
uva 10112 Myacm三角形
1 0