《算法竞赛入门经典第2版》题解目录索引

《算法竞赛入门经典第2版》题解目录索引

本文包含紫书的例题和习题分析题解的目录索引和一些建议

紫书刷题进行中,题解系列【GitHub|CSDN】

OJ网址点这里


第3章

本章难度不高,可练习基本技巧,如输入输出格式,字符串处理,打表,STL使用,双指针,周期模型处理(循环节),对数降维等知识点,高手可跳过

书中编号 题目编号 标题(题解链接) 分类 备注
例题3-1 UVA272 Tex Quotes 水题 字符串处理
例题3-2 UVA10082 WERTYU 水题 打表
例题3-3 UVA401 Palindromes 经典 字符串处理,回文串/镜像串
例题3-4 UVA340 Master-Mind Hints 水题 阅读理解,做差法
例题3-5 UVA1583 Digit Generator 打表 缩小范围,逆向构建哈希表
例题3-6 UVA1584 Circular Sequence 水题 字符串处理,string使用
习题3-1 UVA1585 Score 水题 计数
习题3-2 UVA1586 Molar mass 水题 字符串处理,精度控制
习题3-3 UVA1225 Digit Counting 水题 哈希表计数
习题3-4 UVA455 Periodic Strings 水题 周期串
习题3-5 UVA227 Puzzle 简单模拟 简单模拟,复杂输入输出
习题3-6 UVA232 Crossword Answers 简单模拟 字符串处理,坑人输出
习题3-7 UVA1368 DNA Consensus String 简单模拟 打表计数
习题3-8 UVA202 Repeating Decimals 除法模拟 循环节(周期串)
习题3-9 UVA10340 All in All 子序列判定 双指针/dp计数
习题3-10 UVA1587 Box 长方体判定 判定条件,STL
习题3-11 UVA1588 Kickdown 双串匹配 注意a,b相对位置
习题3-12 UVA11809 Floating-Point Numbers 数学 公式推导,对数降维,精度选择,打表

第4章

本章题目多为模拟思维题,包含STL灵活运用,熟悉常用数据结构,方向向量设置,用数组降低代码复杂度,位运算(bitset类),进制转换,浮点误差处理等等知识点,质量较高,建议都独立完成一遍,对编程能力提升有很大帮助

书中编号 题目编号 标题(题解链接) 分类 备注
例题4-1 UVA1339 Ancient Cipher 思维题 条件转换,sort,位置顺序不重要
例题4-2 UVA489 Hangman Judge 简单模拟 set去重
例题4-3 UVA133 The Dole Queue 简单模拟 约瑟夫环变种,模运算
例题4-4 UVA213 Message Decoding 解码模拟 字符串处理,进制转换
例题4-5 UVA512 Spreadsheet Tracking 复杂模拟 整体/单个模拟;结构体作Map的key;处理多行/列时,先处理大者
例题4-6 UVA12412 师兄帮帮忙 复杂模拟 数据结构设计,输出格式细心;查询优化
习题4-1 UVA1589 Xiangqi 复杂模拟 象棋方向向量,马脚处理,将军吃红子
习题4-2 UVA201 Squares 中级模拟 最长距离优化/类似前缀和
习题4-3 UVA220 Othello 中级模拟 棋盘方向模拟,直线判断
习题4-4 UVA253 Cube painting 中级模拟 推导思考,判定条件,轮换/基向量(顺序无关)
习题4-5 UVA1590 IP Networks 中级模拟 位运算,bitset,进制转换,字符串处理
习题4-6 UVA508 Morse Mismatches 解密模拟 逆向思维,题意不明,map
习题4-7 UVA509 RAID 数组模拟 RAID,进制转换,bitset,分块处理(cache)
习题4-8 UVA12108 Extraordinarily Tired Student 状态模拟 循环节判断(死循环处理)
习题4-9 UVA1591 Data Mining 简单模拟 公式推导,等差数列,移位溢出处理
习题4-10 UVA815 Flooded 简单模拟 sort,补面积做差,浮点误差(少用除法)

第5章

本章主要练习STL使用,熟练使用以下容器

  • 线性:vector,list,string
  • 关联:map,setunorder_map,unorder_set用于查询效率高)
  • 特殊:stack,queue,priority_queue
  • 算法:sort,lower_bound,find,

题目基本都不难,仔细读题,理清思路,字符串处理比较繁琐,细节处理很重要,刷题愉快!!!

写代码时先写框架,在大脑调试几遍保证框架正确性后在依次处理细节,bug较少,享受一遍AC快感~

书中编号 题目编号 标题(题解链接) 分类 备注
例题5-1 UVA10474 Where is the Marble 水题 sort,lowerbound/同分排名
例题5-2 UVA101 The Blocks Problem 水题 vector插入删除(删除顺序注意)
例题5-3 UVA10815 Andy’s First Dictionary 水题 set去重,字典序排列
例题5-4 UVA156 Ananagrams 好题 map,set;顺序无关-标准化:排序|计数
例题5-5 UVA12096 The SetStack Computer 好题 手动分配id(递归定义);集合交并算法;stack
例题5-6 UVA540 Team Queue 好题 双队列/二级索引/二维数组,读题
例题5-7 UVA136 Ugly Numbers 数学 丑数构造,优先队列
例题5-8 UVA400 Unix ls 水题 字符串处理,输出格式控制,按列输出
例题5-9 UVA1592 Database 好题 行列同素求解;map优化;stringstream分割字符串
例题5-10 UVA207 PGA Tour Prize Money 待填坑
例题5-11 UVA814 The Letter Carrier’s Rounds 中级模拟 字符串处理;读题仔细(按输入顺序输出)
例题5-12 UVA221 Urban Elevations 离散化 sort,连续化离散分析
习题5-1 UVA1593 Alignment of Code 水题 字符串处理;stringstream分割;对齐宽度
习题5-2 UVA1594 Ducci Sequence 水题 set序列判重
习题5-3 UVA10935 Throwing cards away I 水题 queue模拟
习题5-4 UVA10763 Foreign Exchange 水题 映射(map/打表)
习题5-5 UVA10391 Compound Words 水题 set,string子串
习题5-6 UVA1595 Symmetry 思考题 对称性判断
习题5-7 UVA12100 Printer Queue 简单模拟 queue;map(类似优先队列)
习题5-8 UVA230 Borrowers 中级模拟 分级sort;set字典序排列;map分配id
习题5-9 UVA1596 Bug Hunt 中级模拟 字符串处理;数组表达式求值;map嵌套
习题5-10 UVA1597 Searching the Web 搜索模拟 字符串处理;搜索引擎原理;集合交并补
习题5-11 UVA12504 Updating a Dictionary 简单模拟 字符串处理;map;字符串分割
习题5-12 UVA511 Do You Know the Way to San Jose 待填坑
习题5-13 UVA822 Queue and A 待填坑
习题5-14 UVA1598 Exchange 待填坑
习题5-15 UVA12333 Revenge of Fibonacci 待填坑
习题5-16 UVA212 Use of Hospital Facilities 待填坑

第6章

本章题目设计诸多数据结构

  • 线性表:栈,队列,链表(掌握基础的增删改查,灵活使用)
  • 关系结构:树和图(set,map底层均为树实现,最强大的关系描述模型)

同时涉及诸多技巧,如离散化,做差法,隐式建树(启发:做提前问问自己又没必要建立真正的数据结构,只用逻辑结构是否足以解决问题),这些东西只看是学不会的(排除天才:),循序渐进的挑战才会进步,因此,在分类栏中标记为好题,思维题,超好题的题目需重视,十分锻炼自身思维和编码能力,做好题的重要性不言而喻。

先享受分析问题的过程(脑力活),然后才是愉快的写代码(体力活);常分析,常总结,做题愉快!!!

例题

书中编号 题目编号 标题(题解链接) 分类 备注
例题6-1 UVA210 Concurrency Simulator 中级模拟 并发背景;双端队列;队列;map
例题6-2 UVA514 Rails 简单模拟 栈妙用(逆向思维)
例题6-3 UVA442 Matrix Chain Multiplication 简单模拟 矩阵链相乘(栈处理括号)
例题6-4 UVA11988 Broken Keyboard 简单模拟 list插入,遍历
例题6-5 UVA12657 Boxes in a Line 优化技巧 list插入,遍历;链表反转标记优化
例题6-6 UVA679 Dropping Balls 规律优化 完全二叉树,找规律,时空优化
例题6-7 UVA122 Trees on the level 二叉树建立;层次遍历
例题6-8 UVA548 Tree 中后序建树;dfs
例题6-9 UVA839 Not so Mobile 先序建树,后序判断;隐式建树判断
例题6-10 UVA699 The Falling Leaves 类似UVA839
例题6-11 UVA297 Quadtrees 思维题 四叉树转二维数组合并;隐式建树;空间换时间
例题6-12 UVA572 Oil Deposits 图遍历 dfs求连通块
例题6-13 UVA1103 Ancient Messages 思维题 不变特征量;双重dfs;分离连通块;
例题6-14 UVA816 Abbott’s Revenge bug中 bug中
例题6-15 UVA10305 Ordering Tasks 拓扑排序 queue;n!=0,m=0特例
例题6-16 UVA10129 Play on Words 欧拉路径 连通图判断(dfs/并查集);有向图欧拉路判定条件
例题6-17 UVA10562 Undraw the Trees 思维题 字符串解析/建树/先序–>数组直接递归输出(不建树)
例题6-18 UVA12171 Sculpture 超好题 离散技巧;逆向思维/作差法;floodfill(bfs);方向向量
例题6-19 UVA1572 Self-Assembly 好题 逆向思维;无限判定->图判环(dfs/bfs);哈希函数
例题6-20 UVA1599 Ideal Path 好题 双向bfs;边缓存优化;最短+字典序最小
例题6-21 UVA506 System Dependencies 中级模拟 字符串处理;命令处理;背景有实际意义
例题6-22 UVA11853 Paintball 好题 条件转换;逆向思维;连通块dfs;条件简化

你可能感兴趣的:(算法竞赛入门经典第二版)