*Dear Visitor,
If you arrive at this page because you are (Google-)searching for hints/solutions for some of these 2.95K+ UVa/Kattis online judge problems
and you do not know about "Competitive Programming" text book yet, you may be interested to get one copy where I discuss
the required data structure(s) and/or algorithm(s) for those problems :).
Alternatively, you can also visit my other tool VisuAlgo (free) for animated explanations of some of
those data structure(s) and/or algorithm(s).
If you arrive at this page because of CP3 (published 24 May 2013),
please notice that this page contains the most up-to-date version of CPbook problem classification at UVa or uHunt pages
(dubbed CP3.19a++, information is up to date as of 15 May 2019).
The major update is the inclusion of ~1K+ Kattis online judge problems
on top of the ~2K UVa online judge problems (there are some overlap, around 90+,
search substring "also available at Kattis" / "also available at UVa" to find such problems).
Also, if you are a Google Chrome and Kattis user, use this nice Kattis Hint Giver created by one of my student Lin Si Jie that integrates this page directly with Kattis problems pages (you may want to occassionally 'Remove from Chrome' and re-'Add to Chrome' to manually sync this Methods to Solve content with the local cache).
Regards,
Dr Steven Halim, NUS ICPC head coach, ICPC Asia Singapore Regional Contest Director, Singapore IOI team leader, IOI 2020 Deputy Chairman.
Btw, browsing these ~3K problems may feel daunting for beginners, so feel free to use the following filters:
*

- NUS CS1010/E/S/CS1101S : (Basic) Programming Methodology level: I/O, Sequence, Selection, Repetition, Control Flow, Function, Easy Problems, 1D/2D Array, Simple Sorting, Binary Search, Basic Math, Basic String
- NUS CS2040/C/S : (Basic) Data Structures and Algorithms level: 1D/2D Array/Vector, Sorting, Linked List, Binary Heap, Hash Table, Binary Search Tree, Graph DS, Graph Traversal, SSSP
- NUS CS3230 : Design and Analysis of Algorithms level: Sorting (Harder), BF, D&C (+MatPow, Closest Pair), Greedy, DP (+APSP, Combinatorics, DP String), MST (+Union-Find), SSSP (Harder), String Matching, Convex Hull, NP-hard Problems
- NUS CS4234 : Optimisation Algorithms level: Complete Search (small instances), DP (esp Pseudo-Polynomial versions), NP-hard Problems, Max Flow, Graph Matching (+Weighted MCBM), Linear Programming
- CP3.19a, "Chapter 1 : Introduction" starred problems only or CP3.19a, all Chapter 1 problems
- CP3.19a, "Chapter 2 : Data Structures and Libraries" starred problems only or CP3.19a, all Chapter 2 problems
- CP3.19a, "Chapter 3 : Problem Solving Paradigms" starred problems only or CP3.19a, all Chapter 3 problems
- CP3.19a, "Chapter 4 : Graph" starred problems only or CP3.19a, all Chapter 4 problems
- CP3.19a, "Chapter 8 : More Advanced Topics" starred problems only or CP3.19a, all Chapter 8 problems
- Only starred problems from all chapters
- If no (or wrong) filter is specified, we will list down all problems, including all those uncategorized 'non-starred' problems (for NUS CS3233/ICPC: Competitive Programming level)

UVa/Kattis | Problem Title | CP3.19a++ |
---|---|---|

00417 | Fetching from uHunt | 2.3d, Hash Table (map) |

00499 | Fetching from uHunt | 2.3b, Direct Addressing Table |

00514 | Fetching from uHunt | 2.2f, Stack |

00599 | Fetching from uHunt | 2.4a, Graph Data Structures |

00978 | Fetching from uHunt | 2.3e, Balanced BST (set) |

01062 | Fetching from uHunt | 2.2f, Stack |

01197 | Fetching from uHunt | 2.4b, Union-Find Disjoint Sets |

01329 | Fetching from uHunt | 2.4b, Union-Find Disjoint Sets |

01610 | Fetching from uHunt | 2.2d, Sorting, Harder |

10107 | Fetching from uHunt | 2.2c, Sorting, Easier |

10138 | Fetching from uHunt | 2.3f, Balanced BST (map) |

10145 | Fetching from uHunt | 2.3d, Hash Table (map) |

10172 | Fetching from uHunt | 2.2g, List/Queue/Deque |

10258 | Fetching from uHunt | 2.2d, Sorting, Harder |

10260 | Fetching from uHunt | 2.3b, Direct Addressing Table |

10264 | Fetching from uHunt | 2.2e, Bit Manipulation |

10608 | Fetching from uHunt | 2.4b, Union-Find Disjoint Sets |

10685 | Fetching from uHunt | 2.4b, Union-Find Disjoint Sets |

10815 | Fetching from uHunt | 2.3e, Balanced BST (set) |

10887 | Fetching from uHunt | 2.3c, Hash Table (set) |

10895 | Fetching from uHunt | 2.4a, Graph Data Structures |

11136 | Fetching from uHunt | 2.3e, Balanced BST (set) |

11308 | Fetching from uHunt | 2.3f, Balanced BST (map) |

11340 | Fetching from uHunt | 2.3b, Direct Addressing Table |

11402 | Fetching from uHunt | 2.4c, Tree-related DS |

11423 | Fetching from uHunt | 2.4c, Tree-related DS |

11550 | Fetching from uHunt | 2.4a, Graph Data Structures |

11581 | Fetching from uHunt | 2.2b, 2D Array Manipulation |

11629 | Fetching from uHunt | 2.3d, Hash Table (map) |

11933 | Fetching from uHunt | 2.2e, Bit Manipulation |

11988 | Fetching from uHunt | 2.2g, List/Queue/Deque |

11991 | Fetching from uHunt | 2.4a, Graph Data Structures |

11997 | Fetching from uHunt | 2.3a, Priority Queue |

12049 | Fetching from uHunt | 2.3c, Hash Table (set) |

12108 | Fetching from uHunt | 2.2g, List/Queue/Deque |

12291 | Fetching from uHunt | 2.2b, 2D Array Manipulation |

12299 | Fetching from uHunt | 2.4c, Tree-related DS |

12356 | Fetching from uHunt | 2.2a, 1D Array Manipulation |

12504 | Fetching from uHunt | 2.3f, Balanced BST (map) |

12541 | Fetching from uHunt | 2.2c, Sorting, Easier |

12571 | Fetching from uHunt | 2.2e, Bit Manipulation |

12650 | Fetching from uHunt | 2.3b, Direct Addressing Table |

12662 | Fetching from uHunt | 2.2a, 1D Array Manipulation |

12667 | Fetching from uHunt | 2.2b, 2D Array Manipulation |

12709 | Fetching from uHunt | 2.2c, Sorting, Easier |

12720 | Fetching from uHunt | 2.2e, Bit Manipulation |

12965 | Fetching from uHunt | 2.2d, Sorting, Harder |

13037 | Fetching from uHunt | 2.3e, Balanced BST (set) |

13055 | Fetching from uHunt | 2.2f, Stack |

13148 | Fetching from uHunt | 2.3c, Hash Table (set) |

13177 | Fetching from uHunt | 2.3a, Priority Queue |

13181 | Fetching from uHunt | 2.2a, 1D Array Manipulation |

13190 | Fetching from uHunt | 2.3a, Priority Queue |

2048 | Kattis - 2048 | 2.2b, 2D Array Manipulation |

abinitio | Kattis - abinitio | 2.4a, Graph Data Structures |

administrativeproblems | Kattis - administrativeproblems | 2.3f, Balanced BST (map) |

almostunionfind | Kattis - almostunionfind | 2.4b, Union-Find Disjoint Sets |

ballotboxes | Kattis - ballotboxes | 2.3a, Priority Queue |

baloni | Kattis - baloni | 2.2a, 1D Array Manipulation |

basicinterpreter | Kattis - basicinterpreter | 2.3d, Hash Table (map) |

bitbybit | Kattis - bitbybit | 2.2e, Bit Manipulation |

bookingaroom | Kattis - bookingaroom | 2.3b, Direct Addressing Table |

bst | Kattis - bst | 2.3e, Balanced BST (set) |

candydivision | Kattis - candydivision | 2.3e, Balanced BST (set) |

cd | Kattis - cd | 2.3c, Hash Table (set) |

chopwood | Kattis - chopwood | 2.4a, Graph Data Structures |

classy | Kattis - classy | 2.2d, Sorting, Harder |

compoundwords | Kattis - compoundwords | 2.3e, Balanced BST (set) |

conformity | Kattis - conformity | 2.3d, Hash Table (map) |

control | Kattis - control | 2.4b, Union-Find Disjoint Sets |

cups | Kattis - cups | 2.2c, Sorting, Easier |

deathstar | Kattis - deathstar | 2.2e, Bit Manipulation |

downtime | Kattis - downtime | 2.2a, 1D Array Manipulation |

dyslectionary | Kattis - dyslectionary | 2.2d, Sorting, Harder |

esej | Kattis - esej | 2.3c, Hash Table (set) |

evenup | Kattis - evenup | 2.2f, Stack |

everywhere | Kattis - everywhere | 2.3c, Hash Table (set) |

fenwick | Kattis - fenwick | 2.4c, Tree-related DS |

flowshop | Kattis - flowshop | 2.2b, 2D Array Manipulation |

funhouse | Kattis - funhouse | 2.2b, 2D Array Manipulation |

grandpabernie | Kattis - grandpabernie | 2.3d, Hash Table (map) |

greetingcard | Kattis - greetingcard | 2.3c, Hash Table (set) |

hardware | Kattis - hardware | 2.3b, Direct Addressing Table |

hardwoodspecies | Kattis - hardwoodspecies | 2.3f, Balanced BST (map) |

integerlists | Kattis - integerlists | 2.2g, List/Queue/Deque |

joinstrings | Kattis - joinstrings | 2.2g, List/Queue/Deque |

jollyjumpers | Kattis - jollyjumpers | 2.2a, 1D Array Manipulation |

kattissquest | Kattis - kattissquest | 2.3f, Balanced BST (map) |

ladice | Kattis - ladice | 2.4b, Union-Find Disjoint Sets |

lineup | Kattis - lineup | 2.2c, Sorting, Easier |

mjehuric | Kattis - mjehuric | 2.2c, Sorting, Easier |

moviecollection | Kattis - moviecollection | 2.4c, Tree-related DS |

musicyourway | Kattis - musicyourway | 2.2d, Sorting, Harder |

numbertree | Kattis - numbertree | 2.3a, Priority Queue |

pairingsocks | Kattis - pairingsocks | 2.2f, Stack |

pivot | Kattis - pivot | 2.2a, 1D Array Manipulation |

quickbrownfox | Kattis - quickbrownfox | 2.3b, Direct Addressing Table |

recount | Kattis - recount | 2.3d, Hash Table (map) |

restaurant | Kattis - restaurant | 2.2f, Stack |

rings2 | Kattis - rings2 | 2.2b, 2D Array Manipulation |

sidewayssorting | Kattis - sidewayssorting | 2.2c, Sorting, Easier |

snapperhard | Kattis - snapperhard | 2.2e, Bit Manipulation |

sortofsorting | Kattis - sortofsorting | 2.2d, Sorting, Harder |

srednji | Kattis - srednji | 2.3f, Balanced BST (map) |

supercomputer | Kattis - supercomputer | 2.4c, Tree-related DS |

teque | Kattis - teque | 2.2g, List/Queue/Deque |

throwns | Kattis - throwns | 2.2f, Stack |

traveltheskies | Kattis - traveltheskies | 2.4a, Graph Data Structures |

trendingtopic | Kattis - trendingtopic | 2.2g, List/Queue/Deque |

turbo | Kattis - turbo | 2.4c, Tree-related DS |

vegetables | Kattis - vegetables | 2.3a, Priority Queue |

workstations | Kattis - workstations | 2.3a, Priority Queue |