概述
《算法竞赛入门经典第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,set
(unorder_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;条件简化 |
最后
以上就是高贵冬日为你收集整理的《算法竞赛入门经典第2版》题解目录索引《算法竞赛入门经典第2版》题解目录索引的全部内容,希望文章能够帮你解决《算法竞赛入门经典第2版》题解目录索引《算法竞赛入门经典第2版》题解目录索引所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复