blackhatinside's blog

By blackhatinside, 23 months ago, In English

Hey Community,

Below, you will find a list of simple CP tools which I use on a regular basis for self analysis. I would love to know about any other active CP Analyzer tools (for CF, Leetcode, Codechef, GFG, etc.), learning resources and browser extensions.



Javascript Extension to auto-commit your leetcode, GFG & atcoder solutions to GitHub

If any other useful tools are missing please try to add those in the comment section. Hope my blog is helpful to this community If you love it, then do share with your CP friends. Happy Coding :) Thank you!


Practice (Easy to Difficult Website Ranking)


  • Min Max Heaps

  • Hashing, Sets, Multisets

  • Trees

    • Binary Search Tree (BST)
    • Tries, Segment Tree, Fenwick Tree (or Binary Indexed Tree)
    • Minimum Spanning Tree, Suffix Tree
    • Disjoint Set (or Union-Find)
    • Trie
  • Graphs

    • Simple Nodes (numbers)
    • Complex Nodes (objects)


  • Arrays:

    • Bit Masking
    • Prefix Sum — Precomputations
    • Sliding Window — Two pointers
    • Kadane's Algorithm
    • Josephus Algorithm
    • Square Root Decomposition
    • MO Algorithm
  • String

    • Rabin-Karp Algorithm
    • Manacher's Algorithm
    • Z algorithm
  • Greedy Approach, Bruteforce

    • Recursion
    • Backtracking
  • Optimization

    • Memoization
    • Dynamic Programming
    • Binary Search
    • Divide and Conquer
  • Math

    • Binary hyperparameter search
    • Logarithmic Exponentiation
    • Chinese Remainder Theorem
    • Sprague-Grundy theorem
    • Convex Hull Construction
    • Stable marriage problem
    • Fast-Fourier Transform
    • Sieve of Eratosthenes
    • Binary Exponentiation
    • Euclidean Algorithm
    • Sweep Line Algorithm
    • Gaussian Elimination
    • Manhattan Distance
    • Catalan Numbers
    • Pigeonhole
  • Graph

    • Breadth First Search M1
    • Depth First Search
    • Flood Fill
    • Shortest Path
    • Dijkstra Algorithm
    • Floyd Warshall Algorithm
    • Bellman Ford Algorithm
    • Prims Algorithm
    • Krushal Algorithm
    • Topological Sort
    • Lowest Common Ancestor
    • Euler Tour of Tree
    • Bipartite Graph
    • Strongly Connected Component
    • Heavy-light Decomposition

Feel Free to mention below in the comments, if any important topic is missing in this list (no need to spread hatred comments instead). I hope my blog reaches the right people who are in need of help. I never had a good guidance. At least you all should.

Thank you. Happy Coding :)

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

| Write comment?
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Here is my favourite one:

You can add problem from any website in ToDo list and solve later.

22 months ago, # |
Rev. 3   Vote: I like it +5 Vote: I do not like it

>>>>> Roadmap to Competitive Programming (based on personal experience!)<<<<<


Object Oriented Programming (YES!!)

This is hilarious

Also, "Pigeonhole" is not an algorithm, and neither is "Maximizing Problems" (unless you mean something like Simplex algorithm), and I am not sure how important "Determinants" is. Important algorithms/formulas like CRT and a ton of others are missing.

To be honest, I suggest you to just delete the whole "Important Concepts/Algorithms" section to avoid misguiding others. Thank you.

22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I don't think pupils need to know Heavy-light Decomp, but I was suggest starting small then expanding.

7 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

If you are newbie or green coder, even if your blog is good people will downvote, but for a red coder even the motivational stuff gets hundreds of likes.

  • »
    7 weeks ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    you're 100% correct on this one , but saying that you need to know OOP for Cp does not make any sense , never seen any red coder saying you need oop or data structure for (newbies or pupils or even cyans ) but rather they always talk about fast solving and math and binary search , that's all