Competitive Programming


Methods to Solve (2000-present)

Use these filters to narrow down your next problem to solve:

OJ: , Topic: , Quality:

You can now sort these problems based on Distinct ACcepted Users (DACU) column.
Generally, problems with high DACU are the easier problems.
Note that we only update DACU column manually when we first entered the hint (thus an outdated data).

As Kattis users, you can also sort these problems based Kattis points (usually correlated with DACU but not always).
Generally, problems with low Kattis points are the easier problems.
Note that we only update Point column manually (not a live data).

For Kattis and Google Chrome users, install Kattis Hint Giver created by one of my student Lin Si Jie that integrates this page directly with Kattis problems pages (Kattis has major UI/UX upgrade on early Jun 2022, Si Jie has updated this tool and added 'spoiler blur' so users can decide when to be spoiled; but Kattis changes its UI again by end 2023 so this feature is now broken again)
(Almost) all of the easiest 1097 problems (range: [1.1..3.3] points, average at 2.2 points) have hints and solving them all gives you 1097*~2.2 ≥ 2413.4 total Kattis points — The Lower Bound of Programming Contests in the 2020s year 2024.
Tips: You may want to occasionally 'Remove 'Kattis Hint Giver' from Chrome' and re-'Add it back to Chrome' to manually sync this Methods to Solve content with the local cache.

Kattis Problem Title CP4 Hint DACU Point
carrots carrots 1.4a1, One-Liner I/O just print P 15155 1.3
hello hello 1.4a1, One-Liner I/O just print "Hello World!" 39217 1.2
thelastproblem thelastproblem 1.4a1, One-Liner I/O S can have space(s) 76 1.8
r2 r2 1.4a2, I/O + Sequences Only just print 2*S-R1 14929 1.2
different different 1.4b, Repetition Only use abs function per test case 8964 2.3
qaly qaly 1.4b, Repetition Only trivial loop 5955 1.2
tarifa tarifa 1.4b, Repetition Only one pass; array not needed 9768 1.3
timeloop timeloop 1.4b, Repetition Only just print 'num Abracadabra' N times 17170 1.3
isithalloween isithalloween 1.4c, Selection Only if-else; 2 cases 3761 1.3
judgingmoose judgingmoose 1.4c, Selection Only if-else if-else; 3 cases 4516 1.4
moscowdream moscowdream 1.4c, Selection Only if-else; 2 cases; check n ≥ 3 443 1.7
onechicken onechicken 1.4c, Selection Only if-else if-else; 4 cases (piece vs pieces) 3014 1.6
provincesandgold provincesandgold 1.4c, Selection Only if-else if-else; 6 cases 1779 1.4
quadrant quadrant 1.4c, Selection Only if-else if-else; 4 cases 13625 1.3
temperature temperature 1.4c, Selection Only if-else if-else; 3 cases; derive formula 685 2.2
eligibility eligibility 1.4d, Multiple TC + Selection 3 cases 1741 1.6
helpaphd helpaphd 1.4d, Multiple TC + Selection 2 cases 2044 1.6
leftbeehind leftbeehind 1.4d, Multiple TC + Selection 4 cases 2014 1.6
oddities oddities 1.4d, Multiple TC + Selection 2 cases 11523 1.3
licensetolaunch licensetolaunch 1.4e1, Control Flow, Easy easy linear pass 1969 1.4
fizzbuzz fizzbuzz 1.4e2, Control Flow, Still Easy actually just about easy divisibility properties 10274 1.3
oddgnome oddgnome 1.4e2, Control Flow, Still Easy linear pass 2388 1.6
statistics statistics 1.4e2, Control Flow, Still Easy one pass; array not needed 2942 1.7
artichoke artichoke 1.4f, Function LA 7150 - WorldFinals Marrakech15; linear scan; probably one of the easiest WorldFinals problem; also available at UVa 0... 1390 2.8
digits digits 1.4f, Function direct simulation; also available at UVa 11687 - Digits 214 3.5
filip filip 1.4f, Function create a 'reverse string' function; then if-else check 6345 1.3
mia mia 1.4f, Function just if-else check 1136 2.1
acm acm 1.4g, 1D Array, Easier simple simulation; one pass 3526 1.5
cetiri cetiri 1.4g, 1D Array, Easier sort 3 number helps; 3 cases 1165 1.9
lineup lineup 1.4g, 1D Array, Easier sort ascending/descending and compare; or linear pass 3703 1.6
lostlineup lostlineup 1.4g, 1D Array, Easier simple 1D array manipulation 550 1.5
batterup batterup 1.4h, Easy easy one loop 4542 1.3
hangingout hangingout 1.4h, Easy simple loop 2218 1.3
hissingmicrophone hissingmicrophone 1.4h, Easy simple loop 7690 1.3
pokerhand pokerhand 1.4h, Easy frequency count; report max 2173 1.4
bossbattle bossbattle 1.4i, Still Easy trick question 1391 1.8
bubbletea bubbletea 1.4i, Still Easy simple simulation 806 2.2
peasoup peasoup 1.4i, Still Easy one linear pass 771 2.4
vote vote 1.4i, Still Easy follow the requirements 1584 2.2
basicprogramming1 basicprogramming1 1.4j, Medium a nice summative problem for programming examination of a basic programming methodology course 201 4.0
battlesimulation battlesimulation 1.4j, Medium one pass; special check on 3! = 6 possible combinations of 3 combo moves 900 2.8
bitsequalizer bitsequalizer 1.4j, Medium analyzing patterns; also available at UVa 12545 - Bits Equalizer 174 4.5
fastfood fastfood 1.4j, Medium eventually just one pass due to the constraints 330 2.2
bela bela 1.6a, Game (Card) simple card scoring problem 3731 1.3
memorymatch memorymatch 1.6a, Game (Card) interesting simulation game; many corner cases 161 4.0
shuffling shuffling 1.6a, Game (Card) simulate card shuffling operation 218 2.8
chess chess 1.6b, Game (Chess) bishop movements; either impossible, 0, 1, or 2 ways - one of this can be invalid; just use brute force 856 2.9
empleh empleh 1.6b, Game (Chess) the reverse problem of Kattis - helpme 245 1.8
helpme helpme 1.6b, Game (Chess) convert the given chess board into chess notation 302 2.4
connectthedots connectthedots 1.6c, Game (Others), Easier classic children game; output formatting 213 3.6
gamerank gamerank 1.6c, Game (Others), Easier simulate the ranking update process 732 3.9
guessinggame guessinggame 1.6c, Game (Others), Easier use a 1D flag array; also available at UVa 10530 - Guessing Game 684 2.7
battleship battleship 1.6d, Game (Others), Harder simulation; reading comprehension; many corner cases 120 5.4
rockpaperscissors rockpaperscissors 1.6d, Game (Others), Harder count wins and losses; output win average; also available at UVa 10903 - Rock-Paper-Scissors ... 820 3.7
tictactoe2 tictactoe2 1.6d, Game (Others), Harder check validity of Tic Tac Toe game; tricky; also available at UVa 10363 - Tic Tac Toe 167 5.3
turtlemaster turtlemaster 1.6d, Game (Others), Harder interesting board game to teach programming for children; simulation 323 2.9
chopin chopin 1.6e, Real Life, Easier you can learn a bit of music with this problem 823 1.8
compass compass 1.6e, Real Life, Easier your typical smartphone's compass function usually has this small feature 1529 2.0
trainpassengers trainpassengers 1.6e, Real Life, Easier create a verifier; be careful of corner cases 1807 2.1
wertyu wertyu 1.6e, Real Life, Easier use 2D mapper array to simplify the problem; also available at UVa 10082 - WERTYU 768 2.9
beatspread beatspread 1.6f, Real Life, Medium be careful with boundary cases!; also available at UVa 10812 - Beat the Spread 980 2.4
luhnchecksum luhnchecksum 1.6f, Real Life, Medium very similar (~95%) to UVa 11743 836 1.6
toilet toilet 1.6f, Real Life, Medium simulation; be careful of corner cases 1756 2.4
wordcloud wordcloud 1.6f, Real Life, Medium just a simulation; but be careful of corner cases 322 2.4
creditcard creditcard 1.6g, Real Life, Harder real life issue; precision error issue if we do not convert double (with just 2 digits after decimal point) into long lo... 123 6.3
touchscreenkeyboard touchscreenkeyboard 1.6g, Real Life, Harder follow the requirements; sort 636 1.9
workout workout 1.6g, Real Life, Harder gym simulation; use 1D arrays to help you simulate the time quickly 151 5.7
friday friday 1.6h, Time, Easier the answer depends on the start day of the month 1059 1.9
justaminute justaminute 1.6h, Time, Easier linear pass; total seconds/(total minutes*60) 1512 1.7
marswindow marswindow 1.6h, Time, Easier simple advancing of year and month by 26 months or 2 years+2 months each; direct formula exists 830 2.0
savingdaylight savingdaylight 1.6h, Time, Easier convert hh:mm to minute; compute difference of ending and starting; then convert minute to hh:mm again 986 2.1
bestbefore bestbefore 1.6i, Time, Harder tedious; 3! = 6 possibilities to check 148 4.0
birthdayboy birthdayboy 1.6i, Time, Harder convert mm-dd into [0..364]; use DAT; find largest gap via brute force 108 4.6
natrij natrij 1.6i, Time, Harder convert hh:mm:ss to seconds; make sure the second time is larger than the first time; corner case: 24:00:00 1136 2.6
timezones timezones 1.6i, Time, Harder follow the description, tedious; also available at UVa 10371 - Time Zones 67 5.3
rimski rimski 1.6j, Roman Numerals to Roman/to Decimal conversion problem; use next permutation to be sure 118 4.5
romanholidays romanholidays 1.6j, Roman Numerals generate and sort the first 1K Roman strings; ''M'' is at index 945; append prefix 'M' for numbers larger than 1K 92 3.6
conundrum conundrum 1.6k, Cipher, Easier simple cipher 5240 1.4
encodedmessage encodedmessage 1.6k, Cipher, Easier simple 2D grid cipher 2316 1.4
t9spelling t9spelling 1.6k, Cipher, Easier similar to (the reverse of) UVa 12896 2425 1.7
anewalphabet anewalphabet 1.6l, Cipher, Medium simple cipher; 26 characters 4154 1.8
piglatin piglatin 1.6l, Cipher, Medium simple; check the vowels that include 'y' and process it 916 2.1
secretmessage secretmessage 1.6l, Cipher, Medium just do as asked; use 2D grid 2866 1.7
tajna tajna 1.6l, Cipher, Medium simple 2D grid cipher 471 2.1
autori autori 1.6m, Input Parsing (Iter) simple string tokenizer problem 11602 1.2
pervasiveheartmonitor pervasiveheartmonitor 1.6m, Input Parsing (Iter) simple parsing; then finding average 950 1.7
timebomb timebomb 1.6m, Input Parsing (Iter) just a tedious input parsing problem; divisibility by 6 1174 1.8
display display 1.6n, Output Formatting, E unordered_map; map a digit -> enlarged 7x5 version 635 2.5
musicalnotation musicalnotation 1.6n, Output Formatting, E simple but tedious 421 2.0
skener skener 1.6n, Output Formatting, E enlarging 2D character array 2067 1.5
asciiaddition asciiaddition 1.6o, Time Waster, Easier a+b problem in text format 509 1.9
glitchbot glitchbot 1.6o, Time Waster, Easier O(n^2) simulation; only output one answer 1036 2.0
pachydermpeanutpacking pachydermpeanutpacking 1.6o, Time Waster, Easier time waster; simple one loop simulation 322 1.9
printingcosts printingcosts 1.6o, Time Waster, Easier clear time waster; the hard part is in parsing the costs of each character in the problem description 705 2.2
froggie froggie 1.6p, Time Waster, Harder just a simulation; but many corner cases; S can be 0 296 6.8
functionalfun functionalfun 1.6p, Time Waster, Harder just follow the description; 5 cases; tedious parsing problem; requires a kind of mapper 487 1.9
windows windows 1.6p, Time Waster, Harder LA 7162 - WorldFinals Marrakech15; tedious simulation problem; also available at UVa 01721 - Window Manager 92 7.6
baloni baloni 2.2a, 1D Array, Medium clever use of 1D histogram array to decompose the shots as per requirement 689 3.5
downtime downtime 2.2a, 1D Array, Medium 1D array; use Fenwick Tree-like operation for Range Update Point Query 1068 3.2
greedilyincreasing greedilyincreasing 2.2a, 1D Array, Medium just 1D array manipulation; this is not the DP-LIS problem 1151 1.9
jollyjumpers jollyjumpers 2.2a, 1D Array, Medium 1D Boolean flags to check [1..n-1]; also available at UVa 10038 - Jolly Jumpers 413 3.4
divideby100 divideby100 2.2b, 1D Array, Harder big 1D character array processing; be careful 557 4.2
mastermind mastermind 2.2b, 1D Array, Harder 1D array manipulation to count r and s 446 2.4
pivot pivot 2.2b, 1D Array, Harder static range min/max query problem; special condition allows this problem to be solvable in O(n) using help of 1D arrays 1723 3.2
epigdanceoff epigdanceoff 2.2c, 2D Array, Easier count number of CCs on 2D grid; simpler solution exists: count the number of blank columns plus one 505 1.9
flowshop flowshop 2.2c, 2D Array, Easier interesting 2D array manipulation 392 2.5
imageprocessing imageprocessing 2.2c, 2D Array, Easier interesting 2D array manipulation 344 2.1
nineknights nineknights 2.2c, 2D Array, Easier 2D array checks; 8 directions 881 1.9
2048 2048 2.2d, 2D Array, Harder just a 2D array manipulation problem; utilize symmetry using 90 degrees rotation(s) to reduce 4 cases into 1 3150 2.1
flagquiz flagquiz 2.2d, 2D Array, Harder array of array of strings; be careful; duplicates may exists 167 3.7
funhouse funhouse 2.2d, 2D Array, Harder 2D array manipulation; note the direction update 700 2.0
rings2 rings2 2.2d, 2D Array, Harder more challenging 2D array manipulation; special output formatting style 385 3.8
basicprogramming2 basicprogramming2 2.2e, Sorting, Easier a nice problem about basic sorting applications 189 3.4
height height 2.2e, Sorting, Easier insertion sort simulation 899 2.0
mjehuric mjehuric 2.2e, Sorting, Easier a direct simulation of a bubble sort algorithm 1349 1.6
sidewayssorting sidewayssorting 2.2e, Sorting, Easier stable_sort or sort multi-fields of columns of a 2D array; ignore case 857 2.0
classy classy 2.2f, Sorting, Harder sort using modified comparison function; a bit of string parsing/tokenization 1633 4.5
dyslectionary dyslectionary 2.2f, Sorting, Harder sort the reverse of original string; output formatting 775 3.4
musicyourway musicyourway 2.2f, Sorting, Harder stable_sort; custom comparison function 404 2.4
sortofsorting sortofsorting 2.2f, Sorting, Harder stable_sort or sort multi-fields 2667 2.2
bread bread 2.2g, Special Sorting inversion count; hard to derive 249 5.0
mali mali 2.2g, Special Sorting Counting Sort two arrays; greedy matching largest+smallest at that point 97 5.1
bitbybit bitbybit 2.2h, Bit Manipulation be very careful with and + or corner cases 955 2.9
deathstar deathstar 2.2h, Bit Manipulation can be solved with bit manipulation 415 2.0
snapperhard snapperhard 2.2h, Bit Manipulation bit manipulation; find the pattern; the easier version is also available at Kattis - snappereasy 501 2.3
primaryarithmetic primaryarithmetic 2.2i, Big Integer not a Big Integer problem but a simulation of basic addition 399 2.7
simpleaddition simpleaddition 2.2i, Big Integer that A+B on BigInteger question 1913 1.9
wizardofodds wizardofodds 2.2i, Big Integer if K is bigger than 350, the answer is clear; else just check if 2^K ≥ N 488 2.6
evenup evenup 2.2j, Stack use stack to solve this problem 1273 2.7
pairingsocks pairingsocks 2.2j, Stack simulation using two stacks; just do as asked 556 3.0
restaurant restaurant 2.2j, Stack simulation with stack-based concept; drop plates at stack 2 (LIFO); use move 2-$gt;1 to reverse order; take from stack 1... 364 4.5
throwns throwns 2.2j, Stack use stack of egg positions to help with the undo operation; be careful of corner cases involving modulo operation 1091 2.6
bungeebuilder bungeebuilder 2.2k, Stack-based Problems clever usage of stack; linear pass; bracket (mountain) matching variant 83 3.3
circuitmath circuitmath 2.2k, Stack-based Problems postfix calculator problem 918 2.4
delimitersoup delimitersoup 2.2k, Stack-based Problems bracket matching; stack 382 1.9
integerlists integerlists 2.2l, List/Queue/Deque use deque for fast deletion from front (normal) & back (reversed list); use stack to reverse the final list if it is... 882 4.8
joinstrings joinstrings 2.2l, List/Queue/Deque all '+' operations must be O(1) 959 4.1
sim sim 2.2l, List/Queue/Deque use list and its iterator 99 2.0
teque teque 2.2l, List/Queue/Deque all operations must be O(1) 766 3.3
jugglingpatterns jugglingpatterns 2.3a, Priority Queue PQ simulation; reading comprehension 48 6.3
knigsoftheforest knigsoftheforest 2.3a, Priority Queue PQ simulation after sorting the entries by year 184 3.6
numbertree numbertree 2.3a, Priority Queue not a direct priority queue problem, but the indexing strategy is similar to binary heap indexing 1760 2.1
stockprices stockprices 2.3a, Priority Queue PQ simulation; both max and min PQ 109 3.7
alphabetspam alphabetspam 2.3b, DAT, ASCII count the frequencies of lowercase, uppercase, and whitespace characters 3902 1.4
quickbrownfox quickbrownfox 2.3b, DAT, ASCII pangram; frequency counting of 26 alphabets 4433 1.6
soundex soundex 2.3b, DAT, ASCII DAT for soundex A-Z code mapping; also available at UVa 10260 - Soundex 106 2.9
bookingaroom bookingaroom 2.3c, DAT, Others only 100 rooms; use 1D Boolean array 2849 1.7
busnumbers busnumbers 2.3c, DAT, Others only 1000 bus numbers; use 1D Boolean array 2776 2.4
freefood freefood 2.3c, DAT, Others only 365 days in a year 1965 1.5
princesspeach princesspeach 2.3c, DAT, Others DAT; linear pass 839 2.1
cd cd 2.3d, Hash Table (set) unordered_set is faster than set here; or use modified merge as the input is sorted; also available at UVa 11849 - CD 3176 5.3
esej esej 2.3d, Hash Table (set) use unordered_set to prevent duplicate 509 3.3
greetingcard greetingcard 2.3d, Hash Table (set) use unordered_set; good question; major hint: only 12 neighbors 607 4.9
shiritori shiritori 2.3d, Hash Table (set) linear pass; use unordered_set to keep track of words that have been called 295 2.9
competitivearcadebasketball competitivearcadebasketbal... 2.3e, Hash Table (map), E use unordered_map 209 2.8
conformity conformity 2.3e, Hash Table (map), E use unordered_map to count frequencies of the sorted permutations of 5 ids; also available at UVa 11286 - Conformity 1100 1.9
grandpabernie grandpabernie 2.3e, Hash Table (map), E use unordered_map plus (sorted) vector 1065 3.2
recount recount 2.3e, Hash Table (map), E use map; frequency counting 1163 2.0
addingwords addingwords 2.3f, Hash Table (map), H use unordered_map 1880 3.9
awkwardparty awkwardparty 2.3f, Hash Table (map), H use unordered_map to running max and running min; report the largest difference 611 3.0
basicinterpreter basicinterpreter 2.3f, Hash Table (map), H the harder version of Kattis - variablearithmetic; tedious; be careful; print string inside double quotes verbatim 152 6.7
bst bst 2.3g, Balanced BST (set) simulate special BST [1..N] insertions using set 449 7.3
candydivision candydivision 2.3g, Balanced BST (set) complete search from 1 to sqrt(N); insert all divisors into set for automatic sorting and elimination of duplicates 702 3.4
compoundwords compoundwords 2.3g, Balanced BST (set) use set extensively; iterator 1807 1.7
administrativeproblems administrativeproblems 2.3h, Balanced BST (map) use several maps as the output (of spy names) has to be sorted; be careful of corner cases 194 6.3
doctorkattis doctorkattis 2.3h, Balanced BST (map) Max Priority Queue with frequent (increaseKey) updates; use map 114 4.7
kattissquest kattissquest 2.3h, Balanced BST (map) use map of priority queues; other solutions exist 834 3.1
srednji srednji 2.3h, Balanced BST (map) go left and right of B; use fast data structure like map to help determine the result fast 164 4.1
babynames babynames 2.3i, Order Statistics Tree dynamic rank problem; use two pb_ds 87 5.5
continuousmedian continuousmedian 2.3i, Order Statistics Tree dynamic selection problem; specifically the median values; pb_ds helps 140 3.9
cookieselection cookieselection 2.3i, Order Statistics Tree map large integers to up to 600K integers; use pb_ds or Fenwick Tree and the select(median) operation of Fenwick Tree 923 4.3
gcpc gcpc 2.3i, Order Statistics Tree dynamic rank problem; pb_ds helps 876 5.3
abinitio abinitio 2.4a, Graph Data Structures combo: EL input, AM as working graph DS, AL output (in hash format); all operations must be O(V) or better 104 7.3
chopwood chopwood 2.4a, Graph Data Structures Prüfer sequence; use priority_queue 258 3.5
traveltheskies traveltheskies 2.4a, Graph Data Structures (graph) DS manipulation; an array of ALs (one per each day); simulate the number of people day by day 188 3.2
almostunionfind almostunionfind 2.4b, Union-Find new operation: move; idea: do not destroy the parent array structure; also available at UVa 11987 - Almost Union-Find 618 7.0
control control 2.4b, Union-Find LA 7480 - Singapore15; simulation of UFDS; size of set; number of disjoint sets 424 4.6
ladice ladice 2.4b, Union-Find size of set; decrement one per usage 615 2.8
unionfind unionfind 2.4b, Union-Find basic UFDS; similar to UVa 00793 1086 4.8
fenwick fenwick 2.4c, Tree-related DS basic Fenwick Tree; use long long 695 4.5
justforsidekicks justforsidekicks 2.4c, Tree-related DS use six Fenwick Trees, one for each gem type 359 3.8
moviecollection moviecollection 2.4c, Tree-related DS LA 5902 - NorthWesternEurope11; not a stack but a dynamic RSQ problem; also available at UVa 01513 - Movie collection 547 5.5
supercomputer supercomputer 2.4c, Tree-related DS easy problem if we use Fenwick Tree 760 3.8
cardtrick2 cardtrick2 3.2a, Pre-calculate-able n <= 13, we can simulate the process using queue and precalculate all 13 possible answers 869 1.6
foolingaround foolingaround 3.2a, Pre-calculate-able there are only 379 different values of N where Bob wins; pre-calculateable 117 5.8
sgcoin sgcoin 3.2a, Pre-calculate-able we can either brute force short string message; precompute all possible hash values; or come up with O(1) solution 271 2.4
blackfriday blackfriday 3.2b, Iterative (Two Loops) 2D nested loops; frequency counting 2384 2.2
closestsums closestsums 3.2b, Iterative (Two Loops) sort and then do O(n^2) pairings; also available at UVa 10487 - Closest Sums 1105 2.9
golombrulers golombrulers 3.2b, Iterative (Two Loops) 2D nested loops; additional 1D loops for checking 297 3.2
cudoviste cudoviste 3.2c, Three+ Nested Loops, E 4 nested loops; the inner loops is just 2x2; 5 possibilities of crushed cars; skip 2x2 area that contains building 1194 1.4
npuzzle npuzzle 3.2c, Three+ Nested Loops, E 4 nested loops; easy 683 2.2
set set 3.2c, Three+ Nested Loops, E 4 nested loops; easy 364 1.8
calculatingdartscores calculatingdartscores 3.2d, Three+ Nested Loops, H 6 nested loops but easy; see if a*i +b*j + c*k == n 752 2.8
lektira lektira 3.2d, Three+ Nested Loops, H 2 nested loops to try all 2 cutting points plus 1 more loop to actually do the reversing of sub words 376 3.2
tautology tautology 3.2d, Three+ Nested Loops, H try all 2^5 = 32 values with pruning; also available at UVa 11108 - Tautology 160 3.4
dancerecital dancerecital 3.2e, Iterative (Permutation) try all R! permutations; compare adjacent routines 274 4.2
dreamer dreamer 3.2e, Iterative (Permutation) try all 8! permutations of digits; check if the date is valid; output earliest valid date 406 2.0
veci veci 3.2e, Iterative (Permutation) try all permutations; get the one that is larger than X 1193 1.8
geppetto geppetto 3.2f, Iterative (Combination) try all 2^N subsets of ingredients 305 3.3
squaredeal squaredeal 3.2f, Iterative (Combination) try all 3! permutations of rectangles and try all 2^3 combinations of rectangle orientations; test figure 1.a and 1.b co... 232 4.6
zagrade zagrade 3.2f, Iterative (Combination) try all subsets of bracket pairs to be removed 298 3.1
communication communication 3.2g, Try All Answers try all possible bytes; apply the bitmask formula 764 2.0
flexible flexible 3.2g, Try All Answers try all possible answers 2354 1.7
islands islands 3.2g, Try All Answers try all possible subsets; prune the non-contiguous ones (only 55 valid bitmasks between [0..1023]); check the 'island' p... 443 2.6
walls walls 3.2g, Try All Answers try whether the answer is 1/2/3/4; or Impossible; use up to 4 nested loops 513 4.0
easiest easiest 3.2h, Math Simulation, Easier complete search; sum of digit 3991 1.6
growlinggears growlinggears 3.2h, Math Simulation, Easier physics of parabola; derivation; try all gears 496 2.4
trollhunt trollhunt 3.2h, Math Simulation, Easier brute force; simple 976 2.6
videospeedup videospeedup 3.2h, Math Simulation, Easier brute force; simple for loop; do as asked 298 2.0
crackingrsa crackingrsa 3.2i, Math Simulation, Harder a bit number theory; solvable with complete search 258 2.3
falling falling 3.2i, Math Simulation, Harder rework the formula; complete search up to sqrt(D) 588 3.1
thanosthehero thanosthehero 3.2i, Math Simulation, Harder for-loop from backwards 320 3.9
eenymeeny eenymeeny 3.2j, Josephus Problem Josephus problem; small n; just simulate 492 1.7
musicalchairs musicalchairs 3.2j, Josephus Problem Josephus variant; brute force 139 4.0
toys toys 3.2j, Josephus Problem use general case Josephus recurrence 142 4.5
goodmorning goodmorning 3.2k, Backtracking (Easier) we can use backtracking to generate all possible (small) numbers that can be pressed according to the constraints 347 2.7
natjecanje natjecanje 3.2k, Backtracking (Easier) 4 options for each team with kayak: do nothing, pass to left (if damaged), keep to self (if damaged), pass to right (if ... 701 2.5
paintings paintings 3.2k, Backtracking (Easier) try all possible paintings based on Catherine's preference; skip hideous color pairs 162 3.6
dobra dobra 3.2l, Backtracking (Harder) try all possible 3^n changes of '_' (to a vowel, an 'L', or other consonant not 'L'); prune invalid states; count valid ... 44 3.9
fruitbaskets fruitbaskets 3.2l, Backtracking (Harder) interesting backtracking problem; compute the small numbers < 200; output all minus this value computed via backtrack... 493 4.1
pagelayout pagelayout 3.2l, Backtracking (Harder) a bit of geometry; O(2^n imes n^2 iterative bitmask will TLE; need to use recursive backtracking with pruning 84 5.1
firefly firefly 3.3a, Binary Search sort stalactites vs stalagmites separately; brute force height; binary search the obstacles hit 323 4.0
outofsorts outofsorts 3.3a, Binary Search do O(log n) binary searches on unsorted array n times 107 3.7
roompainting roompainting 3.3a, Binary Search sort the cans at shop (can be used more than once); use lower_bound for what Joe needs at shop 416 3.8
carefulascent carefulascent 3.3b, Bisection and BSTA, E BSTA + Physics simulation 558 1.8
freeweights freeweights 3.3b, Bisection and BSTA, E BSTA + simulation; Mathematical observation 356 4.5
monk monk 3.3b, Bisection and BSTA, E BSTA + simulation; cool 86 3.3
suspensionbridges suspensionbridges 3.3b, Bisection and BSTA, E BSTA + Maths; be careful of precision error 409 4.6
a1paper a1paper 3.3c, Ternary Search & Others division of A1 paper is a kind of DnC principle 1212 3.9
ceiling ceiling 3.3c, Ternary Search & Others LA 7578 - WorldFinals Phuket16; BST insertion then tree equality check; also available at UVa 01738 - Ceiling Function 1871 1.9
goingtoseed goingtoseed 3.3c, Ternary Search & Others divide to search into four regions; extension of binary/ternary search concept 199 6.3
classrooms classrooms 3.4a, Greedy (Classical) variant of interval covering; multiple rooms 229 5.9
froshweek2 froshweek2 3.4a, Greedy (Classical) greedy; sort first; similar to Dragon of Loowater; greedy matching 489 2.3
squarepegs squarepegs 3.4a, Greedy (Classical) convert square to circular; sort; greedy matching 265 3.1
icpcteamselection icpcteamselection 3.4b, Involving Sorting, E greedy; sorting 586 3.0
minimumscalar minimumscalar 3.4b, Involving Sorting, E greedy; sorting 1202 2.3
shopaholic shopaholic 3.4b, Involving Sorting, E greedy; sorting 959 2.4
airconditioned airconditioned 3.4c, Involving Sorting, H greedy; sorting 1116 3.9
birds birds 3.4c, Involving Sorting, H greedy; sorting 566 3.5
delivery delivery 3.4c, Involving Sorting, H greedy; sorting 253 3.3
ballotboxes ballotboxes 3.4d, Involving PQ greedy; priority queue 776 4.4
canvas canvas 3.4d, Involving PQ greedy; priority queue 214 3.5
vegetables vegetables 3.4d, Involving PQ greedy; priority queue 347 3.4
workstations workstations 3.4d, Involving PQ greedy; priority queue 1110 3.6
ants ants 3.4e, Non Classical, Easier greedy; also available at UVa 10714 - Ants 1145 2.5
bank bank 3.4e, Non Classical, Easier greedy 2389 2.6
marblestree marblestree 3.4e, Non Classical, Easier greedy; also available at UVa 10672 - Marbles on a tree 258 3.0
dvds dvds 3.4f, Non Classical, Harder greedy 731 2.9
stockbroker stockbroker 3.4f, Non Classical, Harder greedy 578 3.4
virus virus 3.4f, Non Classical, Harder greedy 753 3.6
commercials commercials 3.5a, Max 1D/2D Range Sum transform each input by -P; Kadane's algorithm 1570 2.0
prozor prozor 3.5a, Max 1D/2D Range Sum 2D range sum with fix range; output formatting 558 1.6
sellingspatulas sellingspatulas 3.5a, Max 1D/2D Range Sum -8 per time slot initially; read sale data; 1D range sum; complete search 109 8.0
increasingsubsequence increasingsubsequence 3.5b, LIS LIS; n ≤ 200$; print lexicographically smallest solution, 99% similar to 'longincsubseq' 352 4.1
nesteddolls nesteddolls 3.5b, LIS sort in one dimension; Dilworth's theorem; LIS in the other; also available at UVa 11368 - Nested Dolls 115 7.1
trainsorting trainsorting 3.5b, LIS max(LIS(i)+LDS(i)-1), ∀i ∈ [0...n-1]; also available at UVa 11456 522 5.4
knapsack knapsack 3.5c, 0-1 KNAPSACK basic DP KNAPSACK; print the solution 687 4.8
orders orders 3.5c, 0-1 KNAPSACK interesting KNAPSACK variant; print the solution 713 4.5
presidentialelections presidentialelections 3.5c, 0-1 KNAPSACK pre-process the input to discard non winnable states; be careful of negative total voters; then standard DP KNAPSACK 116 5.7
bagoftiles bagoftiles 3.5d, COIN-CHANGE count number of ways to do COIN-CHANGE; meet in the middle; DP combinatorics (n choose k) to find the answer for a+b 102 6.5
canonical canonical 3.5d, COIN-CHANGE complete search possible range of counter examples; do both greedy COIN-CHANGE and DP COIN-CHANGE 502 5.7
exactchange2 exactchange2 3.5d, COIN-CHANGE a variation to the Coin-Change problem; also available at UVa 11517 - Exact Change 708 5.4
beepers beepers 3.5e, TSP DP or recursive backtracking with sufficient pruning; also available at UVa 10496 - Collecting Beepers 196 4.6
bustour bustour 3.5e, TSP LA 6028 - WorldFinals Warsaw12; DP TSP variant; also available at UVa 01281 - Bus Tour 124 6.1
cycleseasy cycleseasy 3.5e, TSP Count number of HAMILTONIAN-TOURs 108 4.1
errands errands 3.5e, TSP map location names to integer indices; DP TSP 51 7.0
nikola nikola 3.5f, DP level 1 s: (pos, last_jump); t: jump forward or backward 295 3.6
spiderman spiderman 3.5f, DP level 1 simple DP; go up or down; print solution 1010 3.9
ticketpricing ticketpricing 3.5f, DP level 1 LA 6867 - Rocky Mountain15; similar with UVa 11450 discussed in this book; real life problem; print (the first) part of ... 138 4.9
kutevi kutevi 3.5g, DP level 2 s: (360 integer degrees) 170 2.6
tight tight 3.5g, DP level 2 s: (i, j); #tight words of length i that end in digit j divided by #words: (k+1)^n; also available at UVa 10081 - Tight ... 100 3.5
walrusweights walrusweights 3.5g, DP level 2 backtracking with memoization 570 3.8
dominoes2 dominoes2 4.2a, Finding CCs unlike UVa 11504, we treat SCCs as CCs; also available at UVa 11518 - Dominos 2 599 3.3
reachableroads reachableroads 4.2a, Finding CCs report number of CC-1 892 2.1
terraces terraces 4.2a, Finding CCs group cells with similar height together; if it cannot flow to any other component with lower height, add the size of th... 339 3.6
wheresmyinternet wheresmyinternet 4.2a, Finding CCs check connectivity to vertex 1 1716 3.7
amoebas amoebas 4.2b, Flood Fill, Easier easy floodfill 1079 1.8
countingstars countingstars 4.2b, Flood Fill, Easier basic flood fill problem; count CCs 1494 2.7
gold gold 4.2b, Flood Fill, Easier flood fill with extra blocking constraint; also available at UVa 11561 - Getting Gold 735 2.2
10kindsofpeople 10kindsofpeople 4.2c, Flood Fill, Harder intelligent flood fill; just run once to avoid TLE as there are many queries 2380 3.9
coast coast 4.2c, Flood Fill, Harder intelligent flood fill; just run once to avoid TLE as there are many queries 1339 3.2
islands3 islands3 4.2c, Flood Fill, Harder optimistic flood fill; assume all Cs are Ls 936 2.1
brexit brexit 4.2d, Topological Sort toposort; chain reaction; modified Kahn's algorithm 826 3.6
builddeps builddeps 4.2d, Topological Sort the graph is acyclic; toposort with DFS from the changed file 626 4.7
conservation conservation 4.2d, Topological Sort modified Kahn's algorithm; greedily process all steps in a certain lab before alternating to the other lab 133 4.2
pickupsticks pickupsticks 4.2d, Topological Sort cycle check + toposort if DAG; also available at item UVa 11686 - Pick up sticks 373 4.7
hoppers hoppers 4.2e, Graph Properties Check the answer is number of CC-1 if there is at least one non-bipartite component in the graph; or number of CC otherwise 234 3.9
molekule molekule 4.2e, Graph Properties Check undirected tree is also Bipartite/bi-colorable; bi-color it with 0 and 1; direct all edges from 0 to 1 (or vice versa) 175 3.5
runningmom runningmom 4.2e, Graph Properties Check find a cycle in a directed graph 591 3.8
torn2pieces torn2pieces 4.2e, Graph Properties Check construct graph from strings; traversal from source to target; reachability check; print path 1115 3.6
birthday birthday 4.2f, Cut Vertices/Bridges check if the input graph contains any bridge; N is small though so weaker solution can still be accepted 323 4.3
caveexploration caveexploration 4.2f, Cut Vertices/Bridges find size of bi-connected components that contains vertex 0; identify the bridges 306 3.4
intercept intercept 4.2f, Cut Vertices/Bridges Articulation Points in SSSP Spanning DAG; clever modification of Dijkstra's 112 6.6
cantinaofbabel cantinaofbabel 4.2g, Finding SCCs build directed graph 'can_speak'; compute the largest SCC of 'can_speak'; keep this largest SCC 379 3.5
dominos dominos 4.2g, Finding SCCs count the number of SCCs without incoming edge from a vertex outside that SCC; also available at UVa 11504 - Dominos 248 6.2
equivalences equivalences 4.2g, Finding SCCs contract input directed graph into SCCs; count SCCs that have in-/out-degrees = 0; report the max 281 5.4
faultyrobot faultyrobot 4.2h, Really Ad Hoc interesting graph traversal variant 182 4.5
promotions promotions 4.2h, Really Ad Hoc modified DFS; special graph; DAG; also available at UVa 13015 - Promotions 129 5.5
succession succession 4.2h, Really Ad Hoc (upwards) traversal of family DAG; use unordered_maps; make the founder has very large starting blood to avoid fraction 165 3.1
cats cats 4.3a, MST, Standard standard MST 456 4.1
islandhopping islandhopping 4.3a, MST, Standard MST on small complete graph 440 3.0
lostmap lostmap 4.3a, MST, Standard actually just a standard MST problem 782 2.1
minspantree minspantree 4.3a, MST, Standard very standard MST problem; check if a spanning tree is formed; also output the edges in any spanning tree in lexicograph... 862 4.0
millionairemadness millionairemadness 4.3b, MST, Variants MiniMax path problem 649 2.4
muddyhike muddyhike 4.3b, MST, Variants MiniMax path problem 209 3.9
naturereserve naturereserve 4.3b, MST, Variants Prim's algorithm from multiple sources 180 4.6
buttonbashing buttonbashing 4.4a, SSSP, BFS, Easier very similar to UVa 12160 728 3.4
grid grid 4.4a, SSSP, BFS, Easier modified BFS with step size multiplier 1026 2.8
horror horror 4.4a, SSSP, BFS, Easier SSSP from all sources = horror movies; report lowest ID with the highest unweighted SSSP distance 500 3.3
fire2 fire2 4.4b, SSSP, BFS, Harder very similar to UVa 11624 395 4.2
lost lost 4.4b, SSSP, BFS, Harder interesting twist of BFS/SSSP spanning tree 269 4.7
mallmania mallmania 4.4b, SSSP, BFS, Harder multi-sources BFS from m1; get minimum at border of m2; also available at UVa 11101 - Mall Mania 48 4.9
oceancurrents oceancurrents 4.4b, SSSP, BFS, Harder 0/1-weighted SSSP; BFS+deque; also available at UVa 11573 - Ocean Currents 118 5.4
grasshopper grasshopper 4.4c, Knight Moves BFS on implicit Knight jump graph 136 4.0
hidingplaces hidingplaces 4.4c, Knight Moves SSSP from (r, c); find cells with max distance; print 607 1.9
flowerytrails flowerytrails 4.4d, SSSP, Dijkstra, Easier Dijkstra's; record predecessor graph as there can be multiple shortest paths; also available at UVa 12878 - Flowery Trai... 305 3.9
shortestpath1 shortestpath1 4.4d, SSSP, Dijkstra, Easier very standard Dijkstra's problem 1470 3.5
shortestpath2 shortestpath2 4.4d, SSSP, Dijkstra, Easier Dijkstra's with modification; edges only available periodically; be careful with P = 0 case 423 3.9
texassummers texassummers 4.4d, SSSP, Dijkstra, Easier Dijkstra's; complete weighted graph; print path 97 4.0
blockcrusher blockcrusher 4.4e, SSSP, Dijkstra, Harder Dijkstra's from top row to bottom row (or vice versa); print path 257 5.1
emptyingbaltic emptyingbaltic 4.4e, SSSP, Dijkstra, Harder Dijkstra's variant; grow spanning tree from drain/source 287 5.4
invasion invasion 4.4e, SSSP, Dijkstra, Harder SSSP with multiple and successive sources; multiple calls of Dijkstra's (gets lighter each time if pruned properly) 46 4.3
visualgo visualgo 4.4e, SSSP, Dijkstra, Harder Dijkstra's produces SSSP spanning DAG if there are multiple shortest paths from s to t; counting paths on DAG 496 3.4
hauntedgraveyard hauntedgraveyard 4.4f, SSSP, -ve weight Bellman-Ford; negative cycle check needed 95 8.2
shortestpath3 shortestpath3 4.4f, SSSP, -ve weight Bellman-Ford; do DFS/BFS from vertices that are part of any negative cycle 524 5.1
xyzzy xyzzy 4.4f, SSSP, -ve weight check 'positive' cycle; check connectedness; also available at UVa 10557 152 6.7
allpairspath allpairspath 4.5a, APSP, Standard basic Floyd-Warshall; tricky negative cycle checks 772 5.5
importspaghetti importspaghetti 4.5a, APSP, Standard smallest cycle; print path by breaking the self-loop into i - other vertex j - i 292 5.1
transportationplanning transportationplanning 4.5a, APSP, Standard APSP; FW; for each unused edge, use it and see how much distance is reduced; get minimum; O(n^4) 65 3.9
arbitrage arbitrage 4.5b, APSP, Variants arbitrage problem; similar to UVa 00104 and 00436 324 3.3
kastenlauf kastenlauf 4.5b, APSP, Variants n ≤ 100; Warshall's transitive closure problem 713 3.8
secretchamber secretchamber 4.5b, APSP, Variants LA 8047 - WorldFinals RapidCity17; Warshall's transitive closure; also available at UVa 01757 - Secret Chamber ... 1187 2.2
fibtour fibtour 4.6a, S/Longest Paths on DAG only ~90 Fibonacci numbers not more than 10^18; LONGEST-PATH on DAG problem; special case for first two Fibonacci number... 105 6.4
mravi mravi 4.6a, S/Longest Paths on DAG reverse edge directions to change the input tree into a DAG; find longest path from leaf that contains ant to root 197 2.7
safepassage safepassage 4.6a, S/Longest Paths on DAG SSSP; implicit DAG; s: (cloak_pos, bitmask); try all ways to go back and forth between gate and dorm; report minimum 387 4.9
robotsonagrid robotsonagrid 4.6b, Counting Paths, Easier counting paths in grid (implicit DAG); DP 147 4.3
runningsteps runningsteps 4.6b, Counting Paths, Easier LA 7360 - Greater NY15; s: (leg, l2, r2, l1, r1); t: left/right leg 1/2 steps; use unordered_map as memo table; use prun... 168 2.6
scenes scenes 4.6b, Counting Paths, Easier s: (pos, ribbon_left); t: try all possible heights; ignore the flat scenes first and subtract those cases at the end 407 3.6
cardmagic cardmagic 4.6c, Conversion to DAG s: (deck, tgt_left); t: val 1 to K ≤ tgt_left 133 3.9
drinkresponsibly drinkresponsibly 4.6c, Conversion to DAG s: (cur_drink, money_left, u_left); be careful with precision errors; print solution 98 4.2
maximizingwinnings maximizingwinnings 4.6c, Conversion to DAG separate the maximizing and minimizing problem; s: (cur_room, turns_left); t: go to other room or stay 193 3.9
adjoin adjoin 4.6d, Tree the key parts are finding tree diameter and its center (along that diameter); also see UVa 11695 373 5.3
flight flight 4.6d, Tree cut the worst edge along the tree diameter; link two centers; also available at UVa 11695 - Flight Planning 46 6.3
tourists tourists 4.6d, Tree APSP on Tree (special requirements); LCA 431 3.8
bookclub bookclub 4.6e, Bipartite Graph check if perfect MCBM is possible 307 4.5
escapeplan escapeplan 4.6e, Bipartite Graph left set: robots; right set: holes; 3 version of similar bipartite graphs; MCBM 98 5.7
flippingcards flippingcards 4.6e, Bipartite Graph left set: n card numbers; right set: 2*n picture numbers; possible if MCBM = n; need fast algorithm 169 7.0
catenyms catenyms 4.6f, Eulerian Graph Euler graph property check; 26 vertices; directed non simple graph; printing the Euler tour in lexicographic order 67 7.1
eulerianpath eulerianpath 4.6f, Eulerian Graph Euler graph property check; directed graph; printing the Euler tour 219 5.6
railroad2 railroad2 4.6f, Eulerian Graph x-shaped level junctions have even degrees - ignore X; y-shaped switches have degree 3 - Y has to be even 2188 1.4
averageshard averageshard 5.2a, Finding Formula, Easier find O(n) formula; also see Kattis - averageseasy 605 2.6
bishops bishops 5.2a, Finding Formula, Easier chess pattern involving bishops; from IPSC 2004 1185 2.2
crne crne 5.2a, Finding Formula, Easier simulate cutting process on small numbers; get formula 477 2.5
twostones twostones 5.2a, Finding Formula, Easier just check odd or even 15317 1.3
mortgage mortgage 5.2b, Finding Formula, Harder geometric progression; divergent but finite; special case when r = 1.0 (no interest) 51 7.9
neighborhoodwatch neighborhoodwatch 5.2b, Finding Formula, Harder sum of AP; inclusion-exclusion 319 3.1
nine nine 5.2b, Finding Formula, Harder find the required formula 681 3.2
allaboutthatbase allaboutthatbase 5.2c, Base Number Conversion check base 1 to 36; base 1 is special; Big Integer 927 2.9
arithmetic arithmetic 5.2c, Base Number Conversion conversion of octal (per 4 bits) to hexa (per 3 bits); be careful with leading zeroes 726 3.9
basicremains basicremains 5.2c, Base Number Conversion also involving Big Integer modulo; also available at UVa 10551 - Basic Remains 174 3.4
oktalni oktalni 5.2c, Base Number Conversion convert each 3-bits of binary strings to octal; Big Integer 634 1.8
aliennumbers aliennumbers 5.2d, Base Number Variants source base to decimal; decimal to target base 1050 2.1
ignore ignore 5.2d, Base Number Variants actually a base 7 conversion problem as only 7 digits are meaningful when rotated 268 3.2
mixedbasearithmetic mixedbasearithmetic 5.2d, Base Number Variants mix of base 10 and two versions of base 26 54 5.9
candlebox candlebox 5.2e, Number Systems/Seqs sum of arithmetic series [1..N]; -6 for Rita or -3 for Theo; brute force Rita's age; also available at UVa 13161 - Candl... 448 2.6
collatz collatz 5.2e, Number Systems/Seqs similar to UVa 00694; just do as asked 757 3.7
permutedarithmeticsequence permutedarithmeticsequence 5.2e, Number Systems/Seqs sort differences of adjacent items 1262 2.0
rationalsequence rationalsequence 5.2e, Number Systems/Seqs pattern finding; tree traversal on a special tree 458 4.6
cokolada cokolada 5.2f, Log, Exp, Pow the answers involve powers of two and a simulation 605 2.2
factstone factstone 5.2f, Log, Exp, Pow use logarithm; power; also available at UVa 10916 - Factstone Benchmark 200 3.6
thebackslashproblem thebackslashproblem 5.2f, Log, Exp, Pow actually power of two 349 2.2
beehouseperimeter beehouseperimeter 5.2g, Grid transform the hexagonal grid like Kattis - honeyheist; flood fill from outside Alice's house; count #walls touched 155 4.0
honeyheist honeyheist 5.2g, Grid transform the hexagonal grid input into 2D grid first; then run SSSP on unweighted graph; BFS 135 3.8
maptiles2 maptiles2 5.2g, Grid simple conversion between two grid indexing systems 1338 1.6
ada ada 5.2h, Polynomial polynomial problem; apply the given procedure recursively 346 2.8
curvyblocks curvyblocks 5.2h, Polynomial differentiate degree 3 to degree 2 polynomial; get roots of quadratic equation; the two blocks will touch at either root... 89 4.3
plot plot 5.2h, Polynomial analyze the given pseudocode; the required pattern involves Binomial Coefficients 210 2.5
deadfraction deadfraction 5.2i, Fractions try every single possible repeating decimals; also available at UVa 10555 - Dead Fraction 153 4.9
fraction fraction 5.2i, Fractions continued fraction to normal fraction and vice versa 154 3.8
mixedfractions mixedfractions 5.2i, Fractions convert fraction to mixed fraction 5154 1.5
thermostat thermostat 5.2i, Fractions convert one temperature to another; use fraction; use Java BigInteger; gcd 81 3.4
matrix matrix 5.2j, Really Ad Hoc use simple linear algebra; one special case when c = 0 784 3.1
trip trip 5.2j, Really Ad Hoc be careful with precision error; also available at UVa 10137 - The Trip 103 5.5
yoda yoda 5.2j, Really Ad Hoc ad hoc; 9 digits comparison 1607 2.1
enlarginghashtables enlarginghashtables 5.3a, Prime Numbers use sieve up to 40 000; prime test numbers greater than 2n; check primality of n itself 448 3.4
primesieve primesieve 5.3a, Prime Numbers use sieve up to 10^8; it is fast enough 865 4.5
reseto reseto 5.3a, Prime Numbers sieve of Eratosthenes until the k-th crossing 460 2.7
flowergarden flowergarden 5.3b, (Prob) Prime Testing Euclidean dist; small prime check; use isProbablePrime; simulation; faster solutions exist 317 4.4
goldbach2 goldbach2 5.3b, (Prob) Prime Testing simple brute force problem; use isProbablePrime; faster solutions exist 1219 2.7
primes2 primes2 5.3b, (Prob) Prime Testing convert input to either base 2/8/10/16; skip those that cause NumberFormatException error; use isProbablePrime test and ... 289 4.7
pseudoprime pseudoprime 5.3b, (Prob) Prime Testing yes if !isPrime(p) && a.modPow(p, p) = a; Big Integer; also available at UVa 11287 - Pseudoprime Numbers 347 3.5
pascal pascal 5.3c, Finding Prime Factors find lowest prime factor of N; special case: N = 1 351 3.8
primalrepresentation primalrepresentation 5.3c, Finding Prime Factors factorization problem; use sieve to avoid TLE; use long long; 231-1 is a prime 258 5.4
primereduction primereduction 5.3c, Finding Prime Factors factorization problem 465 3.9
almostperfect almostperfect 5.3d, Prime Factors Functions sumDiv(N)-N; minor variation 1507 3.2
divisors divisors 5.3d, Prime Factors Functions return numDiv(nCk); but do not compute nCk directly; work with its prime factors 208 5.2
relatives relatives 5.3d, Prime Factors Functions EulerPhi(N); also available at UVa 10299 - Relatives 231 3.8
data data 5.3e, Modified Sieve numDiffPF(V) for V up to N x 1000; Brute force combination/all subsets; DP Subset 68 5.9
farey farey 5.3e, Modified Sieve pre-calculate EulerPhi(N); do prefix sum (1D RSQ) of EulerPhi(N) from 1 to each N; the answer is related to this value 257 3.6
nonprimefactors nonprimefactors 5.3e, Modified Sieve numDiv(i) - numDiffPF(i) ∀i in the range; the I/O files are large so Buffered I/O speed is needed 389 5.6
jackpot jackpot 5.3f, GCD and/or LCM similar to Kattis - smallestmultiple; use Java BigInteger or other faster solutions 379 3.2
prsteni prsteni 5.3f, GCD and/or LCM GCD of first circle radius with subsequent circle radiuses 993 1.6
smallestmultiple smallestmultiple 5.3f, GCD and/or LCM simple LCMs of all numbers; use Java BigInteger to be safe 335 3.5
inversefactorial inversefactorial 5.3g, Factorial good problem; number of digits in factorial 1059 5.3
loworderzeros loworderzeros 5.3g, Factorial last non zero digit of factorial; classic 288 4.2
namethatpermutation namethatpermutation 5.3g, Factorial permutation number; involving factorial 154 4.8
tutorial tutorial 5.3g, Factorial factorial is just part of the problem; pruning 1249 2.8
consecutivesums consecutivesums 5.3h, Working with PFs work with factor; sum of Arithmetic Progression series 239 5.2
factovisors factovisors 5.3h, Working with PFs factorize m; see if it has support in n!; Legendre's formula; also available at UVa 10139 - Factovisors 373 6.4
fundamentalneighbors fundamentalneighbors 5.3h, Working with PFs reverse prime power notation 237 4.5
iks iks 5.3h, Working with PFs sieve of Eratosthenes; prime factorize each number; spread the factors around to maximize final GCD/minimize total opera... 115 3.0
anothercandies anothercandies 5.3i, Modular Arithmetic simple modular arithmetic 1843 2.7
ones ones 5.3i, Modular Arithmetic no factor of 2 and 5 implies that there is no trailing zero; also available at UVa 10127 - Ones 567 4.6
threedigits threedigits 5.3i, Modular Arithmetic simulate factorial computation; remove trailing zeroes; keep many last few non-zero digits using modulo 289 5.9
candydistribution candydistribution 5.3j, Extended Euclid the problem boils down to finding C-1 (mod K); be careful when the answer is "IMPOSSIBLE" or ≤ K 199 4.9
modulararithmetic modulararithmetic 5.3j, Extended Euclid the division operation requires modular inverse; use Extended Euclidean algorithm 333 2.9
soyoulikeyourfoodhot soyoulikeyourfoodhot 5.3j, Extended Euclid Linear Diophantine Equation; still solvable with brute force 103 5.2
divisible divisible 5.3k, Divisibility Test divisibility; linear pass algorithm 327 4.3
meowfactor meowfactor 5.3k, Divisibility Test divisibility test of 9^ans; small range of ans 310 3.5
thinkingofanumber thinkingofanumber 5.3k, Divisibility Test simple range; use min/max properly; then small divisibility tests 379 3.8
anti11 anti11 5.4a, Fibonacci Numbers this problem degenerates into a modified Fibonacci numbers 518 2.7
batmanacci batmanacci 5.4a, Fibonacci Numbers Fibonacci; observation on N; Divide and Conquer 331 3.8
rijeci rijeci 5.4a, Fibonacci Numbers simple simulation with a single loop; Fibonacci 2478 1.5
election election 5.4b, Binomial Coefficients compute the answers with help of binomial coefficients 213 6.2
lockedtreasure lockedtreasure 5.4b, Binomial Coefficients the answer is nCm-1 321 2.8
oddbinom oddbinom 5.4b, Binomial Coefficients OEIS A006046 245 3.5
catalan catalan 5.4c, Catalan Numbers basic Catalan Numbers 521 3.6
catalansquare catalansquare 5.4c, Catalan Numbers Catalan Numbers++; follow the description 507 3.5
fiat fiat 5.4c, Catalan Numbers N-th Catalan Number; use Fermat's little theorem 75 6.7
character character 5.4d, Others, Easier OEIS A000295 841 2.4
honey honey 5.4d, Others, Easier OEIS A002898 415 2.4
integerdivision integerdivision 5.4d, Others, Easier count frequencies of each remainder of [0..d-1]; add C(freq, 2) per such remainder 242 3.3
anagramcounting anagramcounting 5.4e, Others, Harder use Big Integer 1117 3.1
incognito incognito 5.4e, Others, Harder count frequencies; combinatorics; minus one 791 2.7
tritiling tritiling 5.4e, Others, Harder there are two related recurrences here; also available at UVa 10918 - Tri Tiling 465 2.1
bobby bobby 5.5a, Probability, Easier computation of expected value 618 2.8
dicebetting dicebetting 5.5a, Probability, Easier s: (dice_left, distinct_numbers_so_far); each throw can increase distinct_numbers_so_far or not 261 3.3
odds odds 5.5a, Probability, Easier complete search; simple probability 142 2.5
anthony anthony 5.5b, Probability, Harder DP probability; need to drop one parameter (N or M) and recover it from the other one 203 5.2
goodcoalition goodcoalition 5.5b, Probability, Harder DP probability; like KNAPSACK 276 3.4
lostinthewoods lostinthewoods 5.5b, Probability, Harder simulate random walks of various lengths and distribute the probabilities per iteration; the answer will converge eventu... 77 3.1
fibonaccicycles fibonaccicycles 5.6a, Cycle Finding detect cycle of fib(n)%k using fast data structure 118 3.2
rats rats 5.6a, Cycle Finding string processing plus cycle-finding; unordered_set 92 6.3
bachetsgame bachetsgame 5.7a, Game Theory (Basic) 2 players game; Dynamic Programming; also available at UVa 10404 - Bachet's Game 724 2.1
blockgame2 blockgame2 5.7a, Game Theory (Basic) observe the pattern; 2 winnable cases if N == M and N%M == 0; only 1 move if M < N < 2M; we can always win if N &g... 314 3.2
euclidsgame euclidsgame 5.7a, Game Theory (Basic) minimax; backtracking; also available at UVa 10368 - Euclid's Game 199 4.8
linije linije 5.7a, Game Theory (Basic) game theory; check conditions on how Mirko can win and when Slavko can win; involves MCBM 39 7.9
checkingforcorrectness checkingforcorrectness 5.8a, Matrix Power Java Big Integer; one subtask uses modPow 244 4.1
porpoises porpoises 5.8a, Matrix Power Fibonacci; matrix power; modulo 268 2.9
squawk squawk 5.8a, Matrix Power count the number of paths of length L in an undirected graph after t steps that are reachable from source s 409 3.5
crackingthecode crackingthecode 6.2a, Cipher, Harder one corner case involving the 25th to 26th character determination 48 6.4
itsasecret itsasecret 6.2a, Cipher, Harder playfair cipher; 2D array; quite tedious 81 5.9
playfair playfair 6.2a, Cipher, Harder follow the description; a bit tedious; also available at UVa 11697 - Playfair Cipher 156 2.5
progressivescramble progressivescramble 6.2a, Cipher, Harder the encode part is trivial; the decode part requires a bit of thinking 977 2.1
textencryption textencryption 6.2a, Cipher, Harder convert input alphabets to UPPERCASEs; loop 305 3.2
calculator calculator 6.2b, Input Parsing (Rec) recursive parser and evaluator 351 3.3
otpor otpor 6.2b, Input Parsing (Rec) parallel vs series evaluation; write a recursive parser; or use linear pass with stack 94 4.3
polish polish 6.2b, Input Parsing (Rec) recursive parser 224 3.3
subexpression subexpression 6.2b, Input Parsing (Rec) recursive parsing; use DP; similar to https://visualgo.net/en/recursion tree versus DAG 44 5.9
apaxiaaans apaxiaaans 6.2c, Regular Expression solvable with regex 6751 1.4
hidden hidden 6.2c, Regular Expression just a careful 1D array manipulation; we can also use regex 1100 2.3
lindenmayorsystem lindenmayorsystem 6.2c, Regular Expression DAT; map char to string; simulation; max answer ≤ 30*5^5; we can also use regex 302 2.5
asciifigurerotation asciifigurerotation 6.2d, Output Formatting, H rotate the input 90 degrees clockwise; remove trailing whitespaces; tedious 521 3.5
imagedecoding imagedecoding 6.2d, Output Formatting, H simple Run-Length Encoding 321 3.4
juryjeopardy juryjeopardy 6.2d, Output Formatting, H tedious problem 309 2.3
nizovi nizovi 6.2d, Output Formatting, H formatting with indentation; not that trivial but sample input/output helps 199 3.8
phonelist phonelist 6.2e, String Comparison sort the numbers; see if num i is a prefix of num i+1 1955 4.3
rhyming rhyming 6.2e, String Comparison compare suffix of a common word with the list of other given words 296 2.5
smartphone smartphone 6.2e, String Comparison compare prefix so far with the target string and the 3 suggestions; output 1 of 4 options with shortest number of keypre... 354 2.6
irepeatmyself irepeatmyself 6.2f, Really Ad Hoc string period; complete search 380 2.4
periodicstrings periodicstrings 6.2f, Really Ad Hoc brute force; skip non divisor 299 3.0
raggedright raggedright 6.2f, Really Ad Hoc just simulate the requirement 1708 1.8
zipfslaw zipfslaw 6.2f, Really Ad Hoc sort the words to simplify this problem; also available at UVa 10126 - Zipf's Law 157 5.7
inflagrantedelicto inflagrantedelicto 6.3a, DP String, Classic k_p is always 2 (read the problem description); k_r is the LCS of the two permutations plus one; O(n log k) solution 75 4.8
pandachess pandachess 6.3a, DP String, Classic LCS of 2 permutations → LIS; O(n log k) solution; also see UVa 10635 267 6.0
princeandprincess princeandprincess 6.3a, DP String, Classic find LCS of two permutations; also available at UVa 10635 - Prince and Princess 140 6.7
exam exam 6.3b, DP String, Non Classic s: (pos, correct_left); t: either your friend is wrong or your friend is right, process accordingly; easier solution exi... 891 1.9
heritage heritage 6.3b, DP String, Non Classic s: (cur_pos); t: try all N words in dictionary; final answer modulo prime 348 5.2
hillnumbers hillnumbers 6.3b, DP String, Non Classic digit DP; s: (prev_digit, pos, is_rising, is_lower); try digit by digit 84 6.7
stringfactoring stringfactoring 6.3b, DP String, Non Classic s: the min weight of substring [i..j]; also available at UVa 11022 - String Factoring 57 5.1
geneticsearch geneticsearch 6.4a, String Matching multiple string matchings 346 2.1
powerstrings powerstrings 6.4a, String Matching find s in s+s; similar with UVa 00455; also available at UVa 10298 - Power Strings 451 5.2
quiteaproblem quiteaproblem 6.4a, String Matching trivial string matching per line 1212 2.1
scrollingsign scrollingsign 6.4a, String Matching modified string matching; complete search; also available at UVa 11576 - Scrolling Sign 238 3.1
boggle boggle 6.4b, String Matching, 2D 2D grid; backtracking 323 3.8
kinarow kinarow 6.4b, String Matching, 2D brute the top left point of each possible x or o row, then straight-line (horizontal, vertical) or two diagonals 2D stri... 107 4.6
knightsearch knightsearch 6.4b, String Matching, 2D 2D grid; backtracking or DP 425 3.2
automatictrading automatictrading 6.5a, Suffix Trie/Tree/Array Suffix Array; LCP of a range; use Sparse Table 160 5.2
buzzwords buzzwords 6.5a, Suffix Trie/Tree/Array Longest Repeated Substring that appears X times (2 ≤ X < N); also available at UVa 11855 - Buzzwords 141 5.0
suffixarrayreconstruction suffixarrayreconstruction 6.5a, Suffix Trie/Tree/Array clever creative problem involving Suffix Array concept; be careful that '*' can be more than one character 125 4.1
suffixsorting suffixsorting 6.5a, Suffix Trie/Tree/Array basic Suffix Array construction problem; be careful with terminating symbol 201 5.7
hashing hashing 6.6a, String Hashing the problem description is very clear; good rolling hash practice; or use Suffix Array+Sparse Table 142 7.3
stringmatching stringmatching 6.6a, String Hashing try Rabin-Karp or KMP 719 4.5
multigram multigram 6.7a, Anagram brute force lengths that is divisor of the original length of the string; test 221 2.8
kaleidoscopicpalindromes kaleidoscopicpalindromes 6.7b, Palindrome (Checking) test all; when you try enlarging k, the answers are actually 'small' 233 3.2
palindromesubstring palindromesubstring 6.7b, Palindrome (Checking) try all pairs of O(n^2) substrings with at least 2 characters; keep the ones that are palindrome (use DP) in a sorted se... 298 4.2
peragrams peragrams 6.7b, Palindrome (Checking) only one odd frequency character can be in the center of palindrome once; the rest need to have even frequency 1692 1.7
evilstraw evilstraw 6.7c, Palindrome (Generating) greedily match leftmost char s[0]/rightmost char s[n-1] with rightmost/leftmost matching s[i], respectively 137 3.8
names names 6.7c, Palindrome (Generating) add a letter or change a letter; complete search 368 4.0
browniepoints browniepoints 7.2a, Points points and quadrants; simple; also available at UVa 10865 - Brownie Points 154 2.3
cursethedarkness cursethedarkness 7.2a, Points Euclidean dist 596 2.2
imperfectgps imperfectgps 7.2a, Points Euclidean dist; simulation 487 4.2
hurricanedanger hurricanedanger 7.2b, Lines distance from point to line (not vector); be careful of precision error; work with integers 114 5.9
logo2 logo2 7.2b, Lines n vectors that sum to 0; given n-1 vectors, find the unknown vector; also available at UVa 11519 - Logo 2 114 5.6
platforme platforme 7.2b, Lines line segment intersection tests; N ≤ 100; complete search 210 2.7
unlockpattern unlockpattern 7.2b, Lines complete search; Euclidean dist 902 1.7
amsterdamdistance amsterdamdistance 7.2c, Circles arcs of circles; no need to model this as an SSSP problem/Dijkstra's 571 2.9
biggest biggest 7.2c, Circles find biggest area of sector using simulation; use array (not that larget) to avoid precision error 147 6.6
estimatingtheareaofacircle estimatingtheareaofacircle 7.2c, Circles PI estimation experiment 2084 1.6
ornaments ornaments 7.2c, Circles arch length plus two times tangent lengths 236 2.2
alldifferentdirections alldifferentdirections 7.2d, Triangles (Trig) use trigonometry to compute x and y displacement 446 2.6
billiard billiard 7.2d, Triangles (Trig) enlarge the billiard table; then this is solvable with atan2 856 1.6
egypt egypt 7.2d, Triangles (Trig) Pythagorean theorem/triple; also available at UVa 11854 - Egypt 862 1.9
mountainbiking mountainbiking 7.2d, Triangles (Trig) up to 4 line segments; simple trigonometry; simple Physics/Kinematic equation 216 2.8
cropeasy cropeasy 7.2e, Triangles + Circles complete search 3 points/tree; check if the center is integer 178 3.0
stickysituation stickysituation 7.2e, Triangles + Circles see if 3 sides form a triangle; see UVa 11579 675 2.7
trilemma trilemma 7.2e, Triangles + Circles triangle properties; sort the 3 sides first 225 3.6
cetvrta cetvrta 7.2f, Quadrilaterals sort the x and y points, then you will know the 4th point 4727 1.3
officespace officespace 7.2f, Quadrilaterals rectangles; small numbers; 2D Boolean arrays 143 5.5
rectanglesurrounding rectanglesurrounding 7.2f, Quadrilaterals rectangles; small; 2D Boolean arrays 187 3.8
roundedbuttons roundedbuttons 7.2f, Quadrilaterals in-rectangle/in-square test; in-4-circles tests 176 2.9
convexhull convexhull 7.3a, Polygon, Easier basic convex hull problem; be careful with duplicate points and collinear points 644 4.8
convexpolygonarea convexpolygonarea 7.3a, Polygon, Easier even more basic problem about area of polygon than Kattis - polygonarea 703 1.9
cuttingcorners cuttingcorners 7.3a, Polygon, Easier simulation of angle checks 95 3.5
robotprotection robotprotection 7.3a, Polygon, Easier simply find the area of convex hull 236 2.4
convex convex 7.3b, Polygon, Harder must understand the concept of convex polygon; a bit of mathematical insights: GCD; sort 132 6.4
pointinpolygon pointinpolygon 7.3b, Polygon, Harder in/out and on polygon 311 5.5
roberthood roberthood 7.3b, Polygon, Harder the classic furthest pair problem; use convex hull and then rotating caliper 376 4.6
airlinehub airlinehub 7.4a, 3D Geometry gcDistance; also available at UVa 10316 - Airline Hub 211 6.6
beavergnaw beavergnaw 7.4a, 3D Geometry volumes of cylinders and cones; inclusion-exclusion; also available at UVa 10297 - Beavergnaw 1210 1.4
bottles bottles 7.4a, 3D Geometry LA 6027 - WorldFinals Warsaw12; BSTA+geometric formula; also available at UVa 01280 - Curvy Little Bottles 217 3.0
flowers flowers 7.4a, 3D Geometry the key part of this problem is integration 63 4.4
movingday movingday 7.4a, 3D Geometry output volume of the largest cuboid - V 261 2.1
committeeassignment committeeassignment 8.2a, Harder Backtracking backtracking; pruning; add a member to existing committee or create a new committee; TLE with DP bitmask 68 7.4
greatswercporto greatswercporto 8.2a, Harder Backtracking use backtracking with pruning; testing up to 10! possible permutations possibly TLE 120 4.1
holeynqueensbatman holeynqueensbatman 8.2a, Harder Backtracking similar with UVa 11195 527 2.2
ecoins ecoins 8.2b, State-Space, BFS, E s: (conventional-value, infotechnological-value); BFS; also available at UVa 10306 - e-Coins 169 4.6
flipfive flipfive 8.2b, State-Space, BFS, E s: (bitmask); only 2^9 = 512 grid configurations; BFS 621 2.7
safe safe 8.2b, State-Space, BFS, E s: (convert 3x3 grid into a base 4 integer); BFS 181 3.0
keyboard keyboard 8.2c, State-Space, BFS, H LA 7155 - WorldFinals Marrakech15; s: (row, col, char_typed); also available at UVa 01714 - Keyboarding 258 5.0
robotmaze robotmaze 8.2c, State-Space, BFS, H s: (r, c, dir, steps); be careful of corner cases 87 5.7
robotturtles robotturtles 8.2c, State-Space, BFS, H s: (r, c, dir, bitmask_ice_castles); print solution; very tedious 114 4.5
bumped bumped 8.2d, State-Space, Dijkstra s: (city, has_use_free_ticket); use Dijkstra's 545 4.4
destinationunknown destinationunknown 8.2d, State-Space, Dijkstra use Dijkstra's twice; one normally; one with s: (point, has_edge_g_h_used); compare the results 101 5.6
justpassingthrough justpassingthrough 8.2d, State-Space, Dijkstra s: (r, c, n_left); Dijkstra's/SSSP on DAG 92 5.1
aspenavenue aspenavenue 8.3a, DP level 3 sort; compute tree positions; s: (l_left, r_left), t: put next tree on the left/right; also available at UVa 11555 - Asp... 223 5.8
busticket busticket 8.3a, DP level 3 s: (day_i); t: either buy daily ticket or jump to end of period ticket (use binary search to avoid TLE) 186 4.4
coke coke 8.3b, DP level 4 drop parameter n1; recover it from b (number of coke bought), n5, and n10; also available at UVa 10626 - Buying Coke 304 5.6
companypicnic companypicnic 8.3b, DP level 4 s: (name, has_been_matched); DP weighted matching (both cardinality and weight) on Tree 200 5.0
rollercoasterfun rollercoasterfun 8.3b, DP level 4 s: (T); split DPs when b = 0 and when b != 0 101 7.7
countcircuits countcircuits 8.3c, Counting Paths, Harder s: (id, cur_x, cur_y); t: skip or use this vector; use offset technique to avoid negative indices 278 5.8
favourable favourable 8.3c, Counting Paths, Harder s: (cur_page); t: jump to one of the 3 sections 304 4.5
pachinkoprobability pachinkoprobability 8.3c, Counting Paths, Harder s: (pos); DAG modeling; long long 113 5.8
hidingchickens hidingchickens 8.3d, DP with Bitmask weighted MCM; small complete weighted graph; make fox goes back to the killing spot first after hiding one or two chicke... 89 5.7
narrowartgallery narrowartgallery 8.3d, DP with Bitmask interesting DP; s: (row, state_of_prev_row, k_left) 1417 2.8
pebblesolitaire2 pebblesolitaire2 8.3d, DP with Bitmask backtracking suffices for Kattis - pebblesolitair; but this version needs extra memoization 400 3.6
maxflow maxflow 8.4a, Network Flow, Standard standard max flow problem for practice; print edges used in the max flow 531 6.3
mazemovement mazemovement 8.4a, Network Flow, Standard use gcd for all pairs of vertices to construct the flow graph; then it is just a standard max flow problem 135 4.4
mincut mincut 8.4a, Network Flow, Standard standard min cut problem for practice; print vertices reachable from source s after max flow 293 4.1
avoidingtheapocalypse avoidingtheapocalypse 8.4b, Network Flow, Variants interesting max flow modeling; blow the vertices based on time 191 4.4
thekingofthenorth thekingofthenorth 8.4b, Network Flow, Variants interesting min cut problem 193 5.0
transportation transportation 8.4b, Network Flow, Variants max flow with vertex capacities 165 5.6
equalsumseasy equalsumseasy 8.6a, NP-hard/C, small, E PARTITION; generate all possible subsets with bitmask; use set to record which sums have been computed 474 2.3
flowfree flowfree 8.6a, NP-hard/C, small, E brute force combination 3^10 or 4^8; then LONGEST-PATH problem on non DAG between two end points of the same color 109 4.4
font font 8.6a, NP-hard/C, small, E count number of possible SET-COVERs; use 2^N backtracking; but use bitmask to represent small set of covered letters 199 4.2
socialadvertising socialadvertising 8.6a, NP-hard/C, small, E MIN-DOMINATING-SET/MIN-SET-COVER; n ≤ 20; use compact Adjacency Matrix technique 59 5.1
beanbag beanbag 8.6b, NP-hard/C, small, H SET-COVER problem; T farmers can collude to give Jack the hardest possible subset of beans to be given freely to Jack 119 4.9
busplanning busplanning 8.6b, NP-hard/C, small, H MIN-CLIQUE-COVER; DP bitmask over sets 91 5.4
programmingteamselection programmingteamselection 8.6b, NP-hard/C, small, H PARTITION-INTO-TRIANGLES; prune if #students % 3 != 0; generate up to m/3 teams; backtracking with memo 64 7.2
bilateral bilateral 8.6c, NP-hard/C, special, E MIN-VERTEX-COVER on Bipartite Graph; MCBM; Konig's theorem that can handle the 1009 case correctly 43 6.5
europeantrip europeantrip 8.6c, NP-hard/C, special, E STEINER-TREE with 3 terminal vertices and up to 1 Steiner point; we can use two ternary searches 297 3.3
reactivity reactivity 8.6c, NP-hard/C, special, E verify if a HAMILTONIAN-PATH exists in the DAG; find one topological sort of the DAG; verify if it is the only one in li... 280 4.0
jailbreak jailbreak 8.6d, NP-hard/C, special, H STEINER-TREE; grid; BFS from 3 vertices: 'outside' and 2 prisoners (open doors independently or meet a Steiner point fir... 130 4.8
ridofcoins ridofcoins 8.6d, NP-hard/C, special, H not the minimizing COIN-CHANGE problem; but the maximizing one; greedy pruning; complete search on much smaller instance 94 7.9
wedding wedding 8.6d, NP-hard/C, special, H can be modeled as a 2-SAT problem; also available at UVa 11294 - Wedding 36 6.7
arrivingontime arrivingontime 8.7a, BSTA+Other, Easier BSTA: the latest starting time; use Dijkstra's to compute whether we can still arrive at meeting point on time 79 6.3
charlesincharge charlesincharge 8.7a, BSTA+Other, Easier BSTA: max edge that Charles can use; SSSP from 1 to $N$ passing through edges that do not exceed that; is it OK? 149 4.8
programmingtutors programmingtutors 8.7a, BSTA+Other, Easier +perfect MCBM 161 3.7
catandmice catandmice 8.7b, BSTA+Other, Harder BSTA: the initial velocity of Cartesian Cat; DP TSP to verify if the cat can catch all mice in the shortest possible tim... 141 6.8
enemyterritory enemyterritory 8.7b, BSTA+Other, Harder MSSP from all enemy vertices; BSTA, run BFS from (xi, yi) to (xr, yr) avoiding vertices that are too close to any enemy 66 4.2
gravamen gravamen 8.7b, BSTA+Other, Harder BSTA + max flow 45 6.1
wifi wifi 8.7b, BSTA+Other, Harder +greedy; also available at UVa 11516 - WiFi 214 4.3
bing bing 8.7c, Fast DS+Other, Easier map all prefixes to frequencies using Hash Table; or use Trie 1061 3.6
busnumbers2 busnumbers2 8.7c, Fast DS+Other, Easier complete search; use unordered_map 377 3.0
selfsimilarstrings selfsimilarstrings 8.7c, Fast DS+Other, Easier complete search as the string is short; frequency counting; use unordered_map; repetition 181 3.5
undetected undetected 8.7c, Fast DS+Other, Easier brute force; simple geometry; UFDS 274 3.9
dictionaryattack dictionaryattack 8.7d, Fast DS+Other, Harder time limit is generous; you can generate all possible password with just 3 swaps; store in sets 101 7.0
doublets doublets 8.7d, Fast DS+Other, Harder s: (string); BFS; use trie to quickly identify neighbor that is one Hamming distance away; also available at UVa 10150 -... 56 8.3
magicallights magicallights 8.7d, Fast DS+Other, Harder LA 7487 - Singapore15; flatten the tree with DFS; use Fenwick Tree for Range Odd Query; use long long 309 5.4
sparklesseven sparklesseven 8.7d, Fast DS+Other, Harder seven nested loops with fast DS 52 5.7
collidingtraffic collidingtraffic 8.7e, Geometry+CS try all pairs of boats; 0.0 if one pair collide; or, use a quadratic equation; also available at UVa 11574 - Colliding T... 48 5.0
cranes cranes 8.7e, Geometry+CS circle-circle intersection; backtracking or brute force subsets with bitmask; also available at UVa 11515 - Cranes 137 3.8
doggopher doggopher 8.7e, Geometry+CS complete search; Euclidean distance dist; also available at UVa 10310 - Dog and Gopher 119 2.5
findinglines findinglines 8.7f, Geometry+Other randomly pick two points; there is a good chance that 20% or more points are on that line defined by those two points 209 6.3
humancannonball humancannonball 8.7f, Geometry+Other build the travel time graph with Euclidean distance computations; use Floyd-Warshall 757 2.2
walkway walkway 8.7f, Geometry+Other we can build the graph and compute area of trapezoid using simple geometry; SSSP on weighted graph; Dijkstra's 190 3.4
crowdcontrol crowdcontrol 8.7g, Graph+Other maximin path problem; MST; DFS from train station to BAPC; block unused edges 100 3.8
gears2 gears2 8.7g, Graph+Other graph reachability test; cycle with equal ratio is actually OK; math fraction 95 3.7
gridmst gridmst 8.7g, Graph+Other Singapore15 preliminary; rectilinear MST problem; small 2D grid; multi-sources BFS to construct short edges; Kruskal's t... 245 7.4
emergency emergency 8.7h, Mathematics+Other the problem is posed as an SSSP problem on special graph; but turns out a simple formula solves the problem; Big Integer 319 3.7
industrialspy industrialspy 8.7h, Mathematics+Other brute force recursive bitmask with prime check; also available at UVa 12218 - An Industrial Spy 556 3.3
megainversions megainversions 8.7h, Mathematics+Other a bit of combinatorics; use Fenwick Tree to compute smaller/larger numbers quickly 333 5.0
ontrack ontrack 8.7h, Mathematics+Other DFS on Tree; the input is a tree, we can try all possible junctions as the critical junction 156 4.1
treasurediving treasurediving 8.7i, Graph+DP SSSP from source and all idol positions; TSP-like but there is a knapsack style parameter 'air_left'; use backtracking 87 7.3
walkforest walkforest 8.7i, Graph+DP counting paths in DAG; build the DAG; Dijkstra's from 'home'; also available at UVa 10917 - A Walk Through the Forest 245 4.4
centsavings centsavings 8.7j, Other+DP 1D RSQ/RMQ 1D RSQ DP for sum of prices from [i..j]; round up/down; s: (idx, d_left); t: try all positioning of the next divider 531 4.6
dvoniz dvoniz 8.7j, Other+DP 1D RSQ/RMQ involving 1D RSQ DP; binary search the answer 47 7.1
program program 8.7j, Other+DP 1D RSQ/RMQ somewhat like Sieve of Eratosthenes initially and 1D RSQ DP speedup at the end 89 7.7
beeproblem beeproblem 8.7k, Three++ Components, E transform bee grid into 2D grid; compute size of each CCs; sort; greedy 156 4.9
gettingthrough gettingthrough 8.7k, Three++ Components, E BSTA+graph connectivity; Union-Find; similar to UVa 00295 51 7.2
researchproductivityindex researchproductivityindex 8.7k, Three++ Components, E sort papers by decreasing probability; brute force k and greedily submit k best papers; DP probability; keep max 358 3.2
carpool carpool 8.7l, Three++ Components, H Floyd-Warshall/APSP; iterative brute force subset and permutation; DP; also available at UVa 11288 - Carpool 40 6.4
clockpictures clockpictures 8.7l, Three++ Components, H sort angles; compute 'string' of differences of adjacent angles (use modulo); min lexicographic rotation; use SA or KMP 463 5.5
guessthenumbers guessthenumbers 8.7l, Three++ Components, H brute force permute up to 5!; recursive string parsing (simple BNF); also available at UVa 12392 - Guess the Numbers 64 8.5
joggingtrails joggingtrails 9.chi1, Chinese Postman basic Chinese Postman Problem; also available at UVa 10296 - Jogging Trails 75 5.0
chineseremainder chineseremainder 9.chi2, Chinese Remainder basic CRT; 2 linear congruences; Big Integer 343 5.4
generalchineseremainder generalchineseremainder 9.chi2, Chinese Remainder general CRT; 2 linear congruences 362 3.7
granica granica 9.chi2, Chinese Remainder CRT; GCD of all N differences of 2 numbers 95 6.2
heliocentric heliocentric 9.chi2, Chinese Remainder CRT or brute force 1030 1.8
remainderreminder remainderreminder 9.chi2, Chinese Remainder a bit of brute force + sorting; generalized CRT 124 5.2
closestpair1 closestpair1 9.clos, Closest Pair classic closest pair problem - the easier one 269 5.7
base2palindrome base2palindrome 9.cons, Construction construct all possible base 2 palindromes; put into a set to remove duplicates and maintain order; output the M-th one 385 4.4
espressobucks espressobucks 9.cons, Construction easy brute force construction; small nxm; not about Min-Vertex-Cover 159 2.4
exofficio exofficio 9.cons, Construction we can use BFS spanning tree from center of the grid; be careful of corner cases 41 7.5
plowking plowking 9.cons, Construction greedy construction; reverse MST problem 92 3.2
poplava poplava 9.cons, Construction actually there is a rather simple construction algorithm to achieve the required requirement 105 3.4
batteries batteries 9.eggd, Egg Dropping Puzzle Egg dropping puzzle with just 2 batteries; special case 146 3.6
powereggs powereggs 9.eggd, Egg Dropping Puzzle Egg dropping puzzle; similar to UVa 10934 92 5.2
golfbot golfbot 9.fast, Fast Fourier Trans count frequencies dist of each reachable distance in one shot; use FFT to multiply dist*dist; count distances reachable ... 133 6.1
polymul2 polymul2 9.fast, Fast Fourier Trans basic polynomial multiplication problem that needs an O(n log n) algorithm; also see Kattis - polymul1 227 6.8
houseofcards houseofcards 9.form, Formulas/Theorems number of cards for certain height h is h * (3*h + 1) / 2; use Python to handle Big Integer 432 3.4
janitortroubles janitortroubles 9.form, Formulas/Theorems Brahmagupta's formula 745 1.5
sjecista sjecista 9.form, Formulas/Theorems number of intersections of diagonals in a convex polygon 581 1.9
seti seti 9.gaus, Gauss Elimination n equations and n unknowns; but there are division under modulo, so use Gaussian elimination with modular multiplicative... 52 3.1
pizza pizza 9.grad, Gradient Descent gradient descent 252 4.5
amazing amazing 9.inte, Interactive Problem run DFS and react based on the output of the program 215 5.2
askmarilyn askmarilyn 9.inte, Interactive Problem the famous Monty hall problem in interactive format 135 4.2
blackout blackout 9.inte, Interactive Problem interactive game theory; block one row; mirror jury's move 129 3.1
crusaders crusaders 9.inte, Interactive Problem another nice interactive problem about binary search 34 7.4
guess guess 9.inte, Interactive Problem interactive problem; binary search 1682 2.7
aqueducts aqueducts 9.kuhn, Kuhn-Munkres build bipartite graph; weighted MCBM; Hungarian 51 6.0
engaging engaging 9.kuhn, Kuhn-Munkres LA 8437 - HoChiMinhCity17; Hungarian; print solution 135 5.8
cheeseifyouplease cheeseifyouplease 9.line, Linear Programming simple Linear Programming problem; use Simplex 51 3.3
maximumrent maximumrent 9.line, Linear Programming basic Linear Programming problem with integer output; we can use simplex algorithm or another simpler solution 241 3.1
chewbacca chewbacca 9.lowe, Lowest Common Anc complete short k-ary tree; binary heap indexing; LCA 186 3.6
catering catering 9.minc, Min Cost (Max) Flow LA 7152 - WorldFinals Marrakech15; MCMF modeling 246 3.9
mincostmaxflow mincostmaxflow 9.minc, Min Cost (Max) Flow very basic MCMF problem; good starting point 232 5.3
ragingriver ragingriver 9.minc, Min Cost (Max) Flow MCMF; unit capacity and unit cost 96 7.1
sound sound 9.slid, Sliding Window sliding window variant 4; max and min; similar to Kattis - treeshopping 104 5.3
subseqhard subseqhard 9.slid, Sliding Window interesting sliding window variant 1119 3.9
cardboardcontainer cardboardcontainer 9.sqrt, Square Root Decomp two out of L, W, and H must be ≤ sqrt(V); brute force L and W in sqrt(V)*sqrt(V) and test if V is divisible by (L*W) 141 2.5
modulodatastructures modulodatastructures 9.sqrt, Square Root Decomp basic problem that can be solved with Square Root Decomposition technique 277 4.6

Buy Now!


Partner Links