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 lewd

- 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 dmkozyrev

- 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 Retired_MiFaFaOvO

- 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 livw

- 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.com/blog/entry/53925

http://codeforces.com/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.com/blog/entry/13529

I didn't know there is already a list on codeforces. Thanks

Efficient and easy segment trees by AI.Cash

Link: http://codeforces.com/blog/entry/18051

A recent SQRT-tree tutorial

Mo's Algorithm on Trees

Who is Mo

I believe Retired_MiFaFaOvO

Mo's name in chinese is 莫涛, while Retired_MiFaFaOvO is 杜瑜皓 I think it's not the same guy

http://codeforces.com/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.

Also add this TooNewbie's blog Recurrent Sequences — Application of combinatorics in DP (basics) http://codeforces.com/blog/entry/54154

I think you could add

"How to sweep like a Sir"tutorial by DanAlex: http://codeforces.com/blog/entry/20377You can add this one too:

http://codeforces.com/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.

http://codeforces.com/blog/entry/57338 DSU

DP optimizations: http://codeforces.com/blog/entry/8219

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.com/blog/entry/21189 for matrix

http://codeforces.com/blog/entry/58894 it's a little introduction to mitm

http://codeforces.com/blog/entry/12239 for HLD

http://codeforces.com/blog/entry/45578 for parallel bin.search

http://codeforces.com/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

http://codeforces.com/blog/entry/60445

This is a good one, https://codeforces.com/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).random bump

Perhaps you could add this https://codeforces.com/blog/entry/77298

Can you add some centroid decomposition blogs?

he is the messiah

June long challenge editorial beginner friendly video explanation with animation and code

Delicious cake (CONTAIN) : https://youtu.be/tXD2yEVA0pM Tom and jerry (EOEO) : https://youtu.be/ZWI5n0Ogir0 Even matrix (EVENM) : https://youtu.be/KA8WoO7jCg8

Adding few more to the list

I think this one should be added too: Geometry shrink trick

Math:Linear sieve —

Nisiyama_Suzune:)

this post by in Data Structure's section — https://codeforces.com/blog/entry/53168 was a prank please remove it from the Data Structure section