Блог пользователя thecoolkid

Автор thecoolkid, история, 6 лет назад, По-английски

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 :)

Полный текст и комментарии »

  • Проголосовать: нравится
  • -6
  • Проголосовать: не нравится