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.
Websites
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!
Resources
Practice (Easy to Difficult Website Ranking)
Leetcode — for Interviews
BASICS & DSA
Object Oriented Programming
Time && Space Complexity
Conditions & Loops
Arrays
- Linear Arrays
- MEX
- XOR
Strings
- Subsets
Math
- Modular Arithmetic
- Number Theory
- Combinations
- Permutations E1
- Determinants
- Probability
- Geometry
- Primes
- GCD
Linked List
Stacks and Queues
- Priority Queues
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)
POPULAR CONCEPTS
Arrays:
- Bit Masking
- Bit Manipulations
- 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
- Knapsack Problem [E1](https://www.codechef.com/problems/KNPSK) [E2](https://practice.geeksforgeeks.org/problems/subset-sum-problem-1611555638/1/) [E3](https://leetcode.com/problems/partition-equal-subset-sum/) [E4](https://practice.geeksforgeeks.org/problems/perfect-sum-problem5633/1) [E5](https://www.google.com)
- Binary Search — Divide and Conquer
Math
- Binary hyperparameter search
- Logarithmic Exponentiation
- Chinese Remainder 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
- 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 :)
Personally, I love these two plugins. Just give them a try.
CF-Predictor
Coder's Calendar
Thanks for sharing cfpredictor It is a great stress-buster. Finally I think I can sleep in peace after a contest.
Here is my favourite one: https://chrome.google.com/webstore/detail/upsolve-tracker/gadhgehadcnbmhjkpnjbhjhdbohdokpj?hl=en
You can add problem from any website in ToDo list and solve later.
Carrot is a more accurate extension than CF Predictor which has a lot of bugs also. I recommend you swap the two. Most people I know that use predictor extension use Carrot.
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.
It would be nice if you could update the links to these topics.
I don't think pupils need to know Heavy-light Decomp, but I was suggest starting small then expanding.