All the good tutorials found for Competitive Programming
Difference between en26 and en27, changed 22 character(s)
Here is the list of some of the good tutorials written by codeforces users :-   ↵
**C++** 

                 ↵
- [C++ Tricks](http://codeforces.com/blog/entry/15643) by [user:Swift,2018-01-22]                       ↵
- [C++ STL: map and set](http://codeforces.com/blog/entry/9702) by [user:adamant,2018-01-24]             ↵
- [C++ STL: Policy based data structures](http://codeforces.com/blog/entry/11080) by [user:adamant,2018-03-05]      ↵
- [Competitive C++ Manifesto: A Style Guide](https://codeforces.com/blog/entry/64218) by [user:Swift,2019-03-04]   ↵
- [Catching silly mistakes with GCC](https://codeforces.com/blog/entry/15547) by [user:andreyv,2019-03-04]   ↵
- [About a general reader / writer for STL-Structures,](https://codeforces.com/blog/entry/71075) by [user:Arturgo,2020-12-20]    ↵
- [Blowing up unordered_map, and how to stop getting hacked on it](https://codeforces.com/blog/entry/62393) by [user:neal,2020-12-20]                 ↵
- [C++ tips and tricks](https://codeforces.com/blog/entry/74684) by [user:Golovanov399,2020-12-20]    ↵
- [4-5x Faster Drop-in Replacement for std::lower_bound](https://codeforces.com/blog/entry/75421) by [user:sslotin,2020-12-20]  ↵
- [How to get actual 64 bit bitsets on Codeforces [Not Recommended] [Don't do this at your job]](https://codeforces.com/blog/entry/77480) by [user:Chilli,2020-12-20]                                  ↵

**Data Structures**  

          ↵
- [Algorithm Gym :: Data Structures](http://codeforces.com/blog/entry/15729) by [user:DarthPrince,2018-01-22]        ↵
- [Everything about Segment Trees](http://codeforces.com/blog/entry/15890) by [user:DarthPrince,2018-01-22]            ↵
- [Efficient and easy Segtree](http://codeforces.com/blog/entry/18051) by [user:Al.Cash,2018-01-22]                     ↵
- [A simple introduction to "Segment tree beats"](http://codeforces.com/blog/entry/57319) by [user:jiry_2,2018-01-24]  ↵
- [Sack(DSU on trees)](http://codeforces.com/blog/entry/44351) by [user:Arpa,2018-01-24]   ↵
- [dsu on trees](https://codeforces.com/blog/entry/67696) by [user:UNoobAble,2019-09-19]                  ↵
- [SQRT Tree](http://codeforces.com/blog/entry/57046) by [user:gepardo,2018-01-23]             ↵
- [Link-Cut tree](http://codeforces.com/blog/entry/11241) by [user:adamant,2018-01-24]              ↵
- [Easy implementation of Compressed 2D Binary Indexed Tree for grid of binary numbers](https://www.codeforces.com/blog/entry/52094) by [user:sdnr1,2018-07-21]         ↵
- [Introduction to New Data Structure: Wavelet Trees](http://codeforces.com/blog/entry/52854) by [user:rachitjain,2018-07-21] 
    
- [[Tutorial] Searching Binary Indexed Tree in O(log(N)) using Binary Lifting](https://codeforces.com/blog/entry/61364) by [user:sdnr1,2018-12-21]      ↵
- [An alternative sorting order for Mo's algorithm](https://codeforces.com/blog/entry/61203) by [user:gepardo,2018-12-21]   ↵
- [How can we perform segment queries with Palindromic Tree?](https://codeforces.com/blog/entry/63149) by [user:duckladydinh,2018-12-21]               ↵
- [Easy and (Semi)Efficient Dynamic Segment Trees (with Policy Hash Tables)](https://codeforces.com/blog/entry/60837) by [user:Chilli,2018-12-21]      ↵
- [2D Range Minimum Query in O(1)](https://codeforces.com/blog/entry/45485) by [user:fnf47,2018-12-21]    ↵
- [Nifty implementation of multi-dimensional Binary Indexed Trees using templates.](https://codeforces.com/blog/entry/64914) by [user:mouse_wireless,2019-03-04]        ↵
- [Top 10 optimizations 2017- (collectors edition)](https://codeforces.com/blog/entry/53168) by [user:bukefala,2019-03-18]      ↵
- [[Tutorial] Sparse table](https://codeforces.com/blog/entry/66643) by [user:ADJA,2019-09-19]       ↵
- [Tutorial on Trie and example problems](https://www.quora.com/q/threadsiiithyderabad/Tutorial-on-Trie-and-example-problems) by [user:darkshadows,2019-10-13]   ↵
- [On Multidimensional Range Queries](https://codeforces.com/blog/entry/71038) by [user:Laakeri,2020-12-20]      ↵
- [Path max queries on a tree in O(1)](https://codeforces.com/blog/entry/71568) by [user:neal,2020-12-20]      ↵
- [Enumerating all Binary Trees to build O(n)/O(1) RMQ](https://codeforces.com/blog/entry/71706) by [user:SecondThread,2020-12-20]     ↵
- [Mo's Algorithm (with update and without update, now you can understand both)](https://codeforces.com/blog/entry/72690) by [user:animeFORever,2020-12-20]    ↵
- [Mo's Algorithm on Trees [Tutorial]](https://codeforces.com/blog/entry/43230) by [user:animeshf,2020-12-20]   ↵
- [Understanding Fenwick Trees / Binary Indexed Trees](https://codeforces.com/blog/entry/57292) by [user:Malomalomalomalo,2020-12-20]   ↵
- [Maintain subtree information using link/cut trees](https://codeforces.com/blog/entry/67637) by [user:ouuan,2020-12-20]   ↵
- [[Tutorial] Two ways to apply Mo's Algorithm on Trees](https://codeforces.com/blog/entry/68271) by [user:oToToT,2020-12-20]     ↵
- [Link Cut Tree implementation](https://codeforces.com/blog/entry/75885) by [user:retrograd,2020-12-20]    ↵
- [Generalizing Segment Trees with Rust](https://codeforces.com/blog/entry/68419) by [user:EbTech,2020-12-20]   ↵
- [Tutorial on Permutation Tree (析合树)](https://codeforces.com/blog/entry/78898) by [user:errorgorn,2020-12-20]      ↵
- [Compressed segment trees and merging sets in O(N logU)](https://codeforces.com/blog/entry/83170) by [user:retrograd,2020-12-20]    ↵
- [[Tutorial] Square root decomposition and applications](https://codeforces.com/blog/entry/83248) by [user:w33z8kqrqk8zzzx33,2020-12-20]     ↵
- [[Tutorial] A powerful representation of integer sets](https://codeforces.com/blog/entry/83969) by [user:brunomont,2020-12-20]                                   ↵
       ↵
**DP**   

                          ↵
- [DP on Trees](http://codeforces.com/blog/entry/20935) by [user:darkshadows,2018-01-22]                ↵
- [SOS DP](http://codeforces.com/blog/entry/45223) by [user:usaxena95,2018-01-22]              ↵
- [Recurrent Sequences — Application of combinatorics in DP](http://codeforces.com/blog/entry/54154) by [user:TooNewbie,2018-01-23]                                             ↵
- [Non-trivial DP tricks & Techniques](http://codeforces.com/blog/entry/47764) by [user:zscoder,2018-01-22]                 ↵
- [Digit DP](http://codeforces.com/blog/entry/53960) by [user:flash_7,2018-02-02]   ↵
- [Optimized solution for Knapsack problem](http://codeforces.com/blog/entry/59606) by [user:sdnr1,2018-07-21]    ↵
- [Dp On Trees](https://codeforces.com/blog/entry/63257) by [user:JafarIsBack,2018-12-21]      ↵
- [DP Tutorial and Problem List](https://codeforces.com/blog/entry/67679) by [user:Ahnaf.Shahriar.Asif,2020-12-20]                                                  ↵

**Math**   

     ↵
- [Invariants and monovariants](http://codeforces.com/blog/entry/57216) by [user:TooNewbie,2018-01-22]      ↵
- [Mobius Inversion](http://codeforces.com/blog/entry/53925) by [user:Nisiyama_Suzune,2018-01-22]   ↵
- [Mobius Inversion and Multiplicative functions : Tutorial](https://codeforces.com/blog/entry/67693) by [user:revivedDevil,2019-09-19]                     ↵
- [Dirichlet convolution](http://codeforces.com/blog/entry/54150) by [user:Nisiyama_Suzune,2018-01-22]            ↵
- [Fast convolution for 64-bit integers](http://codeforces.com/blog/entry/45298) by [user:quasisphere,2018-01-22]         ↵
- [Tutorial for FFT/NTT Part 1](http://codeforces.com/blog/entry/43499) by [user:sidhant,2018-01-22]          ↵
- [Tutorial for FFT/NTT Part 2](http://codeforces.com/blog/entry/48798) by [user:sidhant,2018-01-22]          ↵
- [On Fast Fourier Transform](http://codeforces.com/blog/entry/55572) by [user:adamant,2018-01-24]            ↵
- [Extended Eratosthenes Sieve](http://codeforces.com/blog/entry/57212) by [user:lucyanna2018,2018-01-27]                  ↵
- [Burnside Lemma](http://codeforces.com/blog/entry/51272) by [user:flash_7,2018-02-05]       ↵
- [2 Special cases of Gaussian](http://codeforces.com/blog/entry/60003) by [user:.AJ.,2018-07-21]    ↵
- [Number of Solutions to a Linear Algebraic Equation](http://codeforces.com/blog/entry/54111) by [user:J-C,2018-07-21]        ↵
- [Rolling hash and 8 interesting problems](http://codeforces.com/blog/entry/60445) by [user:dmkozyrev,2018-07-21]        
  
- [Avoid overflow in linear diophantine equation](http://codeforces.com/blog/entry/59842) by [user:Jakube,2018-07-21]   ↵
- [[Tutorial] Chinese Remainder Theorem](https://codeforces.com/blog/entry/61290) by [user:Valiors,2018-12-21]    ↵
- [Linear Recurrence and Berlekamp-Massey Algorithm](https://codeforces.com/blog/entry/61306) by [user:fjzzq2002,2018-12-21]   ↵
- [A blog on the Sprague-Grundy Theorem](https://codeforces.com/blog/entry/63054) by [user:sirknightingfail,2018-12-21]      ↵
- [Schonhage-Strassen (FFT-based integer multiplication) tutorial](https://codeforces.com/blog/entry/63446) by [user:sammyMaX,2018-12-21]    ↵
- [[Tutorial] Inclusion-Exclusion Principle, Part 1.](https://codeforces.com/blog/entry/64625) by [user:Roundgod,2019-03-04]  ↵
- [Number Theory in Competitive Programming [Tutorial]](https://codeforces.com/blog/entry/46620) by [user:rkm0959,2019-03-04]   ↵
- [On burnside (again)](https://codeforces.com/blog/entry/64860) by [user:sorry_marymarine,2019-03-04]           ↵
- [A Bitwise Convolution Tutorial](https://codeforces.com/blog/entry/65154) by [user:Anai,2019-03-04]     ↵
- [The Fear of Gaussian Elimination](https://codeforces.com/blog/entry/65787) by [user:godmar,2019-03-18]   ↵
- [Derangement Generation of an Array [Tutorial]](https://codeforces.com/blog/entry/66176) by [user:naruhodou,2019-09-19]    ↵
- [[Tutorial] Matroid intersection in simple words](http://codeforces.com/blog/entry/69287) by [user:ATSTNG,2019-09-19]                 ↵
- [Solving Linear Recurrence for Programming Contest](http://fusharblog.com/solving-linear-recurrence-for-programming-contest/) by [user:fushar,2019-10-13]      ↵
- [A Beautiful Technique for Some XOR Related Problems](https://codeforces.com/blog/entry/68953) by [user:DrSwad,2020-12-20]  ↵
- [The Intuition Behind NIM and Grundy Numbers in Combinatorial Game Theory](https://codeforces.com/blog/entry/66040) by [user:Shisuko,2020-12-20]   ↵
- [Fast Walsh Hadamard Transforms and it's inner workings](https://codeforces.com/blog/entry/71899) by [user:upobir,2020-12-20]  ↵
- [Modular Arithmetic for Beginners](https://codeforces.com/blog/entry/72527) by [user:Spheniscine,2020-12-20]   ↵
- [Number of Solutions to a Linear Algebraic Equation](https://codeforces.com/blog/entry/54111) by [user:J-C,2020-12-20]   ↵
- [A problem collection of ODE and differential technique](https://codeforces.com/blog/entry/76447) by [user:MiFaFaOvO,2020-12-20]  ↵
- [Slope trick explained](https://codeforces.com/blog/entry/77298) by [user:Kuroni,2020-12-20]     ↵
- [[Tutorial] Generating Functions in Competitive Programming (Part 1)](https://codeforces.com/blog/entry/77468) by [user:zscoder,2020-12-20]    ↵
- [[Tutorial] Generating Functions in Competitive Programming (Part 2)](https://codeforces.com/blog/entry/77551) by [user:zscoder,2020-12-20]    ↵
- [Addendum: Optimized variant of Barrett reduction + proof re: ultimate NTT article](https://codeforces.com/blog/entry/75406) by [user:Spheniscine,2020-12-20]                                   ↵
                                                                        ↵
**String Processing**  

      ↵
- [Z algorithm](http://codeforces.com/blog/entry/3107) by [user:paladin8,2018-01-22]                 ↵
- [Suffix Automata](http://codeforces.com/blog/entry/20861) by [user:quasisphere,2018-01-22]                        ↵
- [Transition between Z- and prefix functions](http://codeforces.com/blog/entry/9612) by [user:adamant,2018-01-24]                     ↵
- [Manacher's algorithm and code readability](http://codeforces.com/blog/entry/12143) by [user:adamant,2018-01-24]       ↵

**Geometry**       ↵

- [Quaternion algebra and geometry](http://codeforces.com/blog/entry/46744) by [user:adamant,2018-01-24]          ↵
- [Slope Trick](http://codeforces.com/blog/entry/47821) by [user:zscoder,2018-01-22]                     ↵
- [Nearest Neighbor Search](http://codeforces.com/blog/entry/54080) by [user:P_Nyagolov,2018-01-24]                    ↵
- [Convex Hull trick and Li chao tree](http://codeforces.com/blog/entry/56994) by [user:adamant,2018-01-24]         ↵
- [Geometry: 2D points and lines](http://codeforces.com/blog/entry/48122) by [user:Al.Cash,2018-01-27]        ↵
- [Geometry: Polygon algorithms](http://codeforces.com/blog/entry/48868) by [user:Al.Cash,2018-01-27]       ↵
- [[Tutorial] Convex Hull Trick — Geometry being useful](https://codeforces.com/blog/entry/63823) by [user:meooow,2018-12-21]                                                                          ↵
         ↵
**Graphs**   ↵

- [0-1 BFS](http://codeforces.com/blog/entry/22276) by [user:dumbass,2018-01-22]           ↵
- [2-SAT](http://codeforces.com/blog/entry/16205) by [user:Swift,2018-01-22]     ↵
- [Algorithm Gym :: Graph Algorithms](http://codeforces.com/blog/entry/16221) by [user:DarthPrince,2018-03-26]   ↵
- [On Euler tour trees](http://codeforces.com/blog/entry/18369) by [user:ifsmirnov,2018-07-21]    ↵
- ['Meet in the middle' with shortest path problems of unweighted graph](http://codeforces.com/blog/entry/58894) by [user:liv1n9,2018-07-21]     ↵
- [Vertex cover and 2-SAT](https://codeforces.com/blog/entry/63164) by [user:irkstepanov,2018-12-21]   ↵
- [Add edges to a digraph to make it strongly connected](https://codeforces.com/blog/entry/15102) by [user:chaotic_iak,2018-12-21]    ↵
- [[Tutorial] The DFS tree and its applications: how I found out I really didn't understand bridges](https://codeforces.com/blog/entry/68138) by [user:-is-this-fft-,2019-09-19]           ↵
- [The “Bridge Tree” of a graph](https://tanujkhattar.wordpress.com/2016/01/10/the-bridge-tree-of-a-graph/#more-7) by [user:baba,2019-10-13]     ↵
- [Articulation points and bridges (Tarjan's Algorithm)](https://codeforces.com/blog/entry/71146) by [user:searleser97,2020-12-20]    ↵
- [[Tutorial] Maximum Independent Set in Bipartite Graphs](https://codeforces.com/blog/entry/72751) by [user:C137,2020-12-20]    ↵
- [Centroid Decomposition on a tree(Beginner)](https://codeforces.com/blog/entry/73707) by [user:YoyOyoYOy000y000,2020-12-20]  ↵
- [[Insight] Number of Topological Orderings of a Directed Tree](https://codeforces.com/blog/entry/75627) by [user:Osama_Alkhodairy,2020-12-20]   ↵
- [Online Query Based Rerooting Technique](https://codeforces.com/blog/entry/76150) by [user:DeadlyCritic,2020-12-20]    ↵
- [[Tutorial] Boruvka's Algorithm](https://codeforces.com/blog/entry/77760) by [user:RockyB,2020-12-20]                                                                                            ↵
                     ↵
**Others**      

  ↵
- [Parallel Binary Search](http://codeforces.com/blog/entry/45578) by [user:dumbass,2018-01-22]        ↵
- [General ideas and tricks](http://codeforces.com/blog/entry/48417) by [user:adamant,2018-01-24]  ↵
- [Some Tutorials -- Or attempts at it :P](https://codeforces.com/blog/entry/60717) by [user:rajarshi_basu,2018-12-21]   ↵
- [Tutorial On Tof (Ternary Search)](https://codeforces.com/blog/entry/60702) by [user:Mahdi_Jfri,2019-03-04]    ↵
- [YouTube Channels for Competitive Programmers](http://codeforces.com/blog/entry/43578) by [user:Silver_,2019-09-19]      ↵
- [Gym Contest with Editorial](https://codeforces.com/blog/entry/69186) by [user:Learner99,2019-10-13]       ↵
- [Writing a book on geometry — Update](https://codeforces.com/blog/entry/59129) by [user:vlecomte,2019-10-13]      ↵
- [Problem Topics](https://codeforces.com/blog/entry/55274) by [user:-Morass-,2019-10-13]     ↵
- [[Tutorial] Interview preparation guide for Google, Facebook, and other tech companies.](https://codeforces.com/blog/entry/71686) by [user:ADJA,2020-12-20]     ↵
- [Tricks that I learnt while practicing](https://codeforces.com/blog/entry/84150) by [user:nubir345,2020-12-20]                     ↵
                       ↵
    ↵
_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](http://codeforces.com/blog/entry/13529)   ↵
                                                                                                                                                                        ↵
                                                                                        ↵

              ↵
         ↵

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en27 English vaibhav1997 2021-11-10 14:24:09 22 Fixed parsing bug
en26 English vaibhav1997 2020-12-20 02:18:28 0 (published)
en25 English vaibhav1997 2020-12-20 02:17:10 2063 Tiny change: 'er:nubir34] ' -> 'er:nubir345] '
en24 English vaibhav1997 2020-12-20 01:56:13 649
en23 English vaibhav1997 2020-12-20 01:49:41 525 Tiny change: '20-12-20] \n- [Cent' -> '20-12-20] \n- [Cent'
en22 English vaibhav1997 2020-12-20 01:43:27 268 Tiny change: '18-12-21] \n- [DP T' -> '18-12-21] \n- [DP T'
en21 English vaibhav1997 2020-12-20 01:38:17 1441
en20 English vaibhav1997 2020-12-20 01:24:32 110 (saved to drafts)
en19 English vaibhav1997 2019-10-13 18:06:32 859 Tiny change: '19-09-19] \n- [Gym ' -> '19-09-19] \n- [Gym '
en18 English vaibhav1997 2019-09-19 06:09:35 938
en17 English vaibhav1997 2019-03-18 11:11:38 261 Tiny change: '018-03-05]\n- [Compe' -> '018-03-05] \n- [Compe'
en16 English vaibhav1997 2019-03-04 17:33:38 1000
en15 English vaibhav1997 2018-12-21 16:35:36 1826
en14 English vaibhav1997 2018-07-21 10:00:16 1218
en13 English vaibhav1997 2018-03-26 16:21:29 139
en12 English vaibhav1997 2018-03-05 07:59:52 139
en11 English vaibhav1997 2018-02-05 19:15:02 131
en10 English vaibhav1997 2018-02-02 16:09:55 120 Tiny change: '018-01-22]\n- [Digit' -> '018-01-22] \n- [Digit'
en9 English vaibhav1997 2018-01-27 17:38:12 2631 Tiny change: '18-01-22] \n- [A si' -> '18-01-22] \n- [A si'
en8 English vaibhav1997 2018-01-24 20:43:56 312
en7 English vaibhav1997 2018-01-24 15:00:16 1148
en6 English vaibhav1997 2018-01-23 08:40:57 285 Tiny change: '18-01-22] \n- [SQRT' -> '18-01-22] \n- [SQRT'
en5 English vaibhav1997 2018-01-22 20:13:59 285 Tiny change: 'the list. ' -> 'the list. \n '
en4 English vaibhav1997 2018-01-22 19:44:19 512 Tiny change: ' \n- [2 - SAT](http:' -> ' \n- [2-SAT](http:'
en3 English vaibhav1997 2018-01-22 18:14:47 571
en2 English vaibhav1997 2018-01-22 17:56:37 240
en1 English vaibhav1997 2018-01-22 17:49:51 1049 Initial revision (published)