thecoolkid's blog

By thecoolkid, history, 6 years ago, In English

hello I recently came upon this list of categories made by Errichto and I think it's great but I don't know in which order one should start or what are some topics that are must know and others that I can learn later?

categories

Implementation; vectors and sets *

Binary search *

Prime sieve; prime check in O(sqrt(N))

Dynamic Programming — Fibonacci numbers, prefix sums *

Sorting *

Greedy *

Ad-hoc

Graphs — graph representation, BFS, DFS, trees *

Geometry — distance between two points

Bitmasks

Two pointers, sliding window

Data structures — sqrt decomposition, segment trees, Fenwick/BIT, persistent structures, Policy-Based-DS, treaps, BST

Ternary search

Interactive problems

LIS

LCS

Maths

Number theory

Combinatorics, probability, EV

Find & Union

Game theory — NIM, Grundy

Hashing

Strings — KMP, Z

Geometry — cross product, convex hull

Matrix exponentiation

Divide & Conquer

DP optimizations

Graphs * — Dijkstra, FW, SCC, bridges, matching, flows

Randomized algorithms

TRIE

Trees — bottom-up dp, LCA, Centroid decomposition, HLD, DSU

2-SAT

Strings — suffix arrays

Constructive algorithms

Expression parsing

Meet in the middle

FFT

Chinese remainder theorem

Gaussian elimination

Difference array, binary lifting

note: I am not a total beginner I have some knowledge (the starred ones)

thank you for reading

and thank you Errichto for such a useful list :)

  • Vote: I like it
  • -6
  • Vote: I do not like it

| Write comment?
»
6 years ago, hide # |
 
Vote: I like it +23 Vote: I do not like it

and thank you Errichto for such a useful list :)

You're welcome but tbh I don't think that the list is useful. I always recommend just solve problems. You will encounter all the topics anyway — just read editorials and follow up on new topics you didn't know before. https://github.com/Errichto/youtube/wiki/How-to-practice%3F

  • »
    »
    6 years ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    yeah I know and that's what I have been doing before but this year I am on my country's national team (ranked 3rd) preparing for IOI so I figured some knowledge is needed ofc especially to solve OI problems