前言
这篇博客是对《算法竞赛入门经典》第二版的习题总结。其中一二章是基础中的基础,省去。
复习的时候直接阅读书上的题目大意,然后直接看代码
三、数组和字符串
习题 | 知识点 | 难度 | 解题报告 |
---|---|---|---|
3-2开灯问题 | 使用a[i] = !a[i] 模拟开关灯 | 1 | 略 |
蛇形填数 | printf 左对齐右对齐输出 | 2 | %3d 和%-3d |
Tex Quotes, UVa 272 | 字符替换 | 1 | 逐字符输出 |
WERTYU, UVa 10082 | 移位编码问题 | 1 | 一次性存储 |
Palindromes, UVa 401 | 判断回文串,判断镜像串 | 2 | 使用递归判断 |
Master-Mind Hints, UVa 304 | 2次匹配 | 2 | 略 |
Digit Generator, UVa 1583 | 数字逐位相加 | 2 | 一次性建表求解 |
Circular Sequence, UVa 1584 | 字符串删除 | 2 | s.erase(pos,len) |
四、函数和递归
习题 | 知识点 | 难度 | 解题报告 |
---|---|---|---|
Ancient Cipher, UVA 1339 | 计数排序 | 2 | 略 |
Hangman Judge, UVA 489 | 字符匹配消除 | 2 | 略 |
The Dole Queue, UVA - 133 | 数组模拟环状队列 | 2 | 使用do while 式循环模拟 |
Message Decoding, UVA - 213 | 等比数列,带空格输入,输入细节坑 | 3 | 代码 |
Spreadsheet Tracking, UVA - 512 | 模拟 | 3 | 代码 |
五、C++于STL入门
习题 | 知识点 | 难度 | 解题报告 |
---|---|---|---|
Where is the Marble? UVA - 10474 | 排序查找 | 2 | sort 与lower_bound 使用 |
The Blocks Problem,UVA - 101 | vector使用 | 2 | 代码 |
Andy’s First Dictionary UVA - 10815 | Set插入与遍历 | 2 | 代码 |
Ananagrams UVA - 156 | Map相关操作 | 2 | 代码 |
The SetStack Computer UVA - 12096 | 多种数据结构混用,集合求交求并 | 4 | 代码 |
Team Queue UVA - 540 | queue插入与删除 | 2 | 每一个队的所有人在一起 |
Team Queue UVA - 136 | 从小到大优先队列与Set | 2 | 2x,3x,5x是丑数 |
Team Queue UVA - 400 | 格式化输出可变长度 | 2 | cout << setw(int) << left |
Database UVA - 1592 | Set应用 | 2 | 将str 转为int , 并用pair 作为key |
六、数据结构基础
习题 | 知识点 | 难度 | 解题报告 |
---|---|---|---|
Database UVA - 1592 | deque的运用 | 3 | push_front/push_back/pop_back/pop_front |