注:有些题目因为太简单或者做过类似的题目就没做,引用了别人的题解。
对于初学者来说,这些题目都是很不错的。
不断更新中,我是先做所有的例题,然后在做习题。
例题1 | I Can Guess the Data Structure! | ADT | ||
例题2 | Easy Problem from Rujia Liu | 排序或者善用STL | ||
例题3 | Argus | 优先队列;模拟 | ||
例题4 | K Smallest Sums | 优先队列;有序表合并 | ||
例题5 | X-Plosives | 并查集 | ||
例题6 | Corporative Network | 加权并查集 |
习题
Broken Keyboard (a.k.a. Beiju Text) | 模拟;链表 | |
Hoax or what | 最大-最小堆或者STL的set | |
Exclusive-OR | 加权并查集 | |
Almost Union-Find | 并查集;需要一点技巧 | |
Tracking RFIDs | 规模不大,不用高级数据结构 | |
Summits | 用数据结构加速算法 | |
The SetStack Computer | 模拟;数据结构 |
区间信息维护
例题7 | Ping pong | Fenwick树;类似逆序对 | ||
例题8 | Frequent Values | RMQ | ||
例题9 | Ray, pass me the dishes | 线段树;区间查询 | ||
例题10 | Fast Matrix Operations | 线段树;区间修改;懒标记传递 |
Potentiometers | Fenwick树 | |
Movie collection | Fenwick树 | |
RMQ with shifts | 线段树;单点修改,区间查询 | |
Skyline | 线段树 | |
Permutations | 递推;线段树(或二分+Fenwick树) | |
Kingdom | 并查集;线段树 | |
Adding New Machine | 线段树;组合计数 | |
Draw a Mess | 线段树可以做,但并查集更好 | |
A Sequence of Numbers | 转化为区间问题;预处理 | |
Flights |
|
例题11 | Remember the Word | 用Trie加速动态规划 | ||
例题12 | strcmp() Anyone? | Trie的性质 | ||
例题13 | Period | KMP算法的失配函数 | ||
例题14 | Dominating Patterns | AC自动机 | ||
例题15 | Substring | AC自动机上的算法 | ||
例题16 | Matrix Matcher | 二维匹配;AC自动机 |
| |
例题17 | Life Forms | 后缀数组+height数组 |
| |
例题18 | Stammering Aliens | LCP;hash函数 |
|
Hyper Prefix Sets | Trie的应用 | |
Dictionary Size | 前缀;后缀;字符串集合 | |
Billing Tables | Trie的应用 | |
Hidden Password | 求字符串的最小表示 | |
Puzzle | 给s个禁止子串,求不含它们的最长串 | |
Password Suspects | 字符串的动态规划 | |
L-Gap Substrings | 后缀数组 | |
Generator | 自动机;数学期望;数学推导 | |
Fuzzy Google Suggest | 模糊查找 | |
Casting Spells | 有难度;需要配合其他数据结构 | |
GRE Words | 用串算法加速动态规划 | |
Accountant notes | AC自动机的应用。有难度 |
例题19 | Efficient Solutions | 维护点集;单调性 | ||
例题20 | Graph and Queries | 名次树;并查集;时光倒流 |
| |
例题21 | Permutation Transformer | 伸展树;和分裂合并的序列 |
| |
例题22 | Jewel Magic | 字符串;Hash函数;伸展树 |
|
Binary Search Tree | 和BST有关的计数问题 | |
Very Boring Homework | BST快速模拟;递归。注意栈溢出 | |
Wild West | 扫描法;维护点集;单调性(或线段树) | |
Robotic Sorting | 伸展树 | |
Defense Line | 维护点集;单调性 | |
Heap Manager |
|