Here is the list of some of the good tutorials written by codeforces users :-
C++
- C++ Tricks by HosseinYousefi
- C++ STL: map and set by adamant
- C++ STL: Policy based data structures by adamant
- Competitive C++ Manifesto: A Style Guide by HosseinYousefi
- Catching silly mistakes with GCC by andreyv
- About a general reader / writer for STL-Structures, by Arturgo
- Blowing up unordered_map, and how to stop getting hacked on it by neal
- C++ tips and tricks by Golovanov399
- 4-5x Faster Drop-in Replacement for std::lower_bound by sslotin
- How to get actual 64 bit bitsets on Codeforces [Not Recommended] [Don't do this at your job] by Chilli
Data Structures
- Algorithm Gym :: Data Structures by PrinceOfPersia
- Everything about Segment Trees by PrinceOfPersia
- Efficient and easy Segtree by Al.Cash
- A simple introduction to "Segment tree beats" by jiry_2
- Sack(DSU on trees) by Arpa
- dsu on trees by qmk
- SQRT Tree by gepardo
- Link-Cut tree by adamant
- Easy implementation of Compressed 2D Binary Indexed Tree for grid of binary numbers by sdnr1
- Introduction to New Data Structure: Wavelet Trees by rachitiitr
- [Tutorial] Searching Binary Indexed Tree in O(log(N)) using Binary Lifting by sdnr1
- An alternative sorting order for Mo's algorithm by gepardo
- How can we perform segment queries with Palindromic Tree? by duckladydinh
- Easy and (Semi)Efficient Dynamic Segment Trees (with Policy Hash Tables) by Chilli
- 2D Range Minimum Query in O(1) by fnf47
- Nifty implementation of multi-dimensional Binary Indexed Trees using templates. by mouse_wireless
- Top 10 optimizations 2017- (collectors edition) by bukefala
- [Tutorial] Sparse table by ADJA
- Tutorial on Trie and example problems by darkshadows
- On Multidimensional Range Queries by Laakeri
- Path max queries on a tree in O(1) by neal
- Enumerating all Binary Trees to build O(n)/O(1) RMQ by SecondThread
- Mo's Algorithm (with update and without update, now you can understand both) by Fype
- Mo's Algorithm on Trees [Tutorial] by animeshf
- Understanding Fenwick Trees / Binary Indexed Trees by Malomalomalomalo
- Maintain subtree information using link/cut trees by ouuan
- [Tutorial] Two ways to apply Mo's Algorithm on Trees by oToToT
- Link Cut Tree implementation by bicsi
- Generalizing Segment Trees with Rust by EbTech
- Tutorial on Permutation Tree (析合树) by errorgorn
- Compressed segment trees and merging sets in O(N logU) by bicsi
- [Tutorial] Square root decomposition and applications by box
- [Tutorial] A powerful representation of integer sets by brunomont
DP
- DP on Trees by darkshadows
- SOS DP by usaxena95
- Recurrent Sequences — Application of combinatorics in DP by TooNewbie
- Non-trivial DP tricks & Techniques by zscoder
- Digit DP by flash_7
- Optimized solution for Knapsack problem by sdnr1
- Dp On Trees by AghaTizi
- DP Tutorial and Problem List by Ahnaf.Shahriar.Asif
Math
- Invariants and monovariants by TooNewbie
- Mobius Inversion by Nisiyama_Suzune
- Mobius Inversion and Multiplicative functions : Tutorial by revivedDevil
- Dirichlet convolution by Nisiyama_Suzune
- Fast convolution for 64-bit integers by quasisphere
- Tutorial for FFT/NTT Part 1 by sidhant
- Tutorial for FFT/NTT Part 2 by sidhant
- On Fast Fourier Transform by adamant
- Extended Eratosthenes Sieve by lucyanna2018
- Burnside Lemma by flash_7
- 2 Special cases of Gaussian by MazzForces
- Number of Solutions to a Linear Algebraic Equation by J-C
- Rolling hash and 8 interesting problems by dmkz
- Avoid overflow in linear diophantine equation by Jakube
- [Tutorial] Chinese Remainder Theorem by Valiors
- Linear Recurrence and Berlekamp-Massey Algorithm by TLE
- A blog on the Sprague-Grundy Theorem by sirknightingfail
- Schonhage-Strassen (FFT-based integer multiplication) tutorial by sammyMaX
- [Tutorial] Inclusion-Exclusion Principle, Part 1. by Roundgod
- Number Theory in Competitive Programming [Tutorial] by rkm0959
- On burnside (again) by rotavirus
- A Bitwise Convolution Tutorial by Anai
- The Fear of Gaussian Elimination by godmar
- Derangement Generation of an Array [Tutorial] by lazyneuron
- [Tutorial] Matroid intersection in simple words by ATSTNG
- Solving Linear Recurrence for Programming Contest by fushar
- A Beautiful Technique for Some XOR Related Problems by DrSwad
- The Intuition Behind NIM and Grundy Numbers in Combinatorial Game Theory by Shisuko
- Fast Walsh Hadamard Transforms and it's inner workings by upobir
- Modular Arithmetic for Beginners by Spheniscine
- Number of Solutions to a Linear Algebraic Equation by J-C
- A problem collection of ODE and differential technique by jqdai0815
- Slope trick explained by Kuroni
- [Tutorial] Generating Functions in Competitive Programming (Part 1) by zscoder
- [Tutorial] Generating Functions in Competitive Programming (Part 2) by zscoder
- Addendum: Optimized variant of Barrett reduction + proof re: ultimate NTT article by Spheniscine
String Processing
- Z algorithm by paladin8
- Suffix Automata by quasisphere
- Transition between Z- and prefix functions by adamant
- Manacher's algorithm and code readability by adamant
Geometry
- Quaternion algebra and geometry by adamant
- Slope Trick by zscoder
- Nearest Neighbor Search by P_Nyagolov
- Convex Hull trick and Li chao tree by adamant
- Geometry: 2D points and lines by Al.Cash
- Geometry: Polygon algorithms by Al.Cash
- [Tutorial] Convex Hull Trick — Geometry being useful by meooow
Graphs
- 0-1 BFS by himanshujaju
- 2-SAT by HosseinYousefi
- Algorithm Gym :: Graph Algorithms by PrinceOfPersia
- On Euler tour trees by ifsmirnov
- 'Meet in the middle' with shortest path problems of unweighted graph by tantam75
- Vertex cover and 2-SAT by irkstepanov
- Add edges to a digraph to make it strongly connected by chaotic_iak
- [Tutorial] The DFS tree and its applications: how I found out I really didn't understand bridges by -is-this-fft-
- The “Bridge Tree” of a graph by Baba
- Articulation points and bridges (Tarjan's Algorithm) by searleser97
- [Tutorial] Maximum Independent Set in Bipartite Graphs by C137
- Centroid Decomposition on a tree(Beginner) by YoyOyoYOy000y000
- [Insight] Number of Topological Orderings of a Directed Tree by Osama_Alkhodairy
- Online Query Based Rerooting Technique by DeadlyCritic
- [Tutorial] Boruvka's Algorithm by RockyB
Others
- Parallel Binary Search by himanshujaju
- General ideas and tricks by adamant
- Some Tutorials -- Or attempts at it :P by RestingRajarshi
- Tutorial On Tof (Ternary Search) by Mahdi_Jfri
- YouTube Channels for Competitive Programmers by Silver_
- Gym Contest with Editorial by Learner99
- Writing a book on geometry — Update by vlecomte
- Problem Topics by -Morass-
- [Tutorial] Interview preparation guide for Google, Facebook, and other tech companies. by ADJA
Tricks that I learnt while practicing by nubir345
If you know some good tutorial on codeforces which is not in this list and another list provided below please mention it in the comments I will add that in the list.
Another Similar List
Good Blog Post Resources about Algorithm and Data Structures
I very enjoyed Nisiyama_Suzune's tutorials on Mobius inversion and Dirchlet convolution.
http://codeforces.net/blog/entry/53925
http://codeforces.net/blog/entry/54150
Thanks added in the list.
And this good tutorials:
C++ Tricks
A short guide to suffix automata
Fast convolution for 64-bit integers
Tutorial on FFT/NTT—The tough made simple.(Part 1)
Tutorial on FFT/NTT — The tough made simple.(Part 2)
Thanks
http://codeforces.net/blog/entry/13529
I didn't know there is already a list on codeforces. Thanks
A recent SQRT-tree tutorial
Mo's Algorithm on Trees
Who is Mo
I believe jqdai0815
Mo's name in chinese is 莫涛, while jqdai0815 is 杜瑜皓 I think it's not the same guy
http://codeforces.net/blog/entry/44351
Almost every blog written by adamant.
DSU On Tree
Dynamic Programming Optimizations
this.
Although I have almost all tutorials in Favourites, it's better to have them sorted in one place like this.
Counting Divisors of a Number
Nearest Neighbor Search by P_Nyagolov
Best one so far.
I think you could add "How to sweep like a Sir" tutorial by DanAlex: http://codeforces.net/blog/entry/20377
You can add this one too:
http://codeforces.net/blog/entry/57212
(A little self-advertisement)
Some time ago I wrote geometry tutorials:
Geometry: 2D points and lines [Tutorial]
Geometry: Polygon algorithms
Also, it would be better to organize the list by topic.
okay I'll do that.
I think it would be better to classify 'Convex Hull trick and Li chao tree by adamant' as DP rather than geometry, although it takes inspiration from geometric concepts and data structures.
Introduction to New Data Structure: Wavelet Trees by rachitiitr
hi,
here is my help :)
i think most of them are useful for the beginning of learning they're algo ...
btw, they're here :
http://codeforces.net/blog/entry/21189 for matrix
http://codeforces.net/blog/entry/58894 it's a little introduction to mitm
http://codeforces.net/blog/entry/12239 for HLD
http://codeforces.net/blog/entry/45578 for parallel bin.search
http://codeforces.net/blog/entry/43230 for MO on tree
Number of Solutions to a Linear Algebraic Equation
Easy implementation of Compressed 2D BIT for grid of binary numbers
This is a good one, https://codeforces.net/blog/entry/68138
I made a blog on the following topics:
Matrix Exponentiation
Finding Derangements(If possible) of an array
These have got decent upvotes so I believe they are useful.
dsu on trees
hope it help to learn dsu on trees :)
Woah, the author of this blog is so smart!
Auto comment: topic has been updated by vaibhav1997 (previous revision, new revision, compare).
Perhaps you could add this https://codeforces.net/blog/entry/77298
Can you add some centroid decomposition blogs?
Adding few more to the list
I think this one should be added too: Geometry shrink trick
this post by in Data Structure's section — https://codeforces.net/blog/entry/53168 was a prank please remove it from the Data Structure section
vaibhav1997 could you kindly fix the bug in the blog.
done
thanks a lot bro
Auto comment: topic has been updated by vaibhav1997 (previous revision, new revision, compare).
Thank You Sir
Thank you.
Awesome.