There are many good blogs in Codeforces Blog where people describes about different Algorithm and Data Structures .
Lets gather all the resources about Algorithm and Data Structures Explanations. You can comment bellow the link and about it . I will always update that post gather new resources.Hope ,its help all and inspire all to write new blog post in future :)
Last added blogs link will have a tag (New)
Resources:
C++ STL
C++ STL: Policy based data structures
C++ STL: Policy based data structures. Part 2
String Processing
Suffix tree. Basics. Building in O(nlogn)
Great resource for string algorithms
Aho-Corasick algorithm. Construction
Suffix tree. Ukkonen's algorithm
On suffix automaton (and tree) New
Data Structures
Basic Binary Indexed Tree (English version)
Memory-optimal Range Queries and Updates in logN
Segment tree with insertion and deletion operators
An efficient way to strengthen up your segment tree
Algorithm Gym :: Data structures
Algorithm Gym :: Everything About Segment Trees
Palindromic tree: behind the scenes
Implicit cartesian tree in GNU C++ STL
Efficient and easy segment trees
Splay tree and its implementation. New
Game Theory
Dynamic Programming
Dynamic Programming Optimizations
Enumeration of combinatorial sequences
Dynamic programming over subsets and paths in graphs
Kadane's Algorithm — (Dynamic Programming) — For new Solvers!
A little bit of classics: dynamic programming over subsets and paths in graphs
Geometry
Easy geometry using std::complex New
Graph
Algorithm Gym :: Graph Algorithms
Tutorial on Heavy Light Decomposition + Problems
Heavy-light decompositon — it can be simple!
Faster Dijkstra on Special Graphs New
Sorting & Searching
Number Theory
Sieve Methods : Prime, Divisor, Euler Phi etc
Prime Factorization In log(n) After Sieve
Counting Divisors of a Number in O(N^(1/3))
Misc
An awesome list for competitive programming! New
Codechef blog
When I see such list with a lot of tutorials/problems, I always want to ask: have you read it, or you just posted it?
My answer depends on your definition of "have you read it" .
It took you a week to come up with this comment?
I hadn't seen your comment till now and saw it only after this blogpost came up in recent posts.
First of all thank you for including my blog into this list.
The formatting of my blog is completely messed up now. I need to some day sit down and correct it :)
good idea!
What about making a wiki page to give anyone permission to update them. For example, wiki page of Lazarus. In Lazarus page, there are a large number of trickS and tips in application developing.
That sounds great!
Can you provide Lazarus page?
http://mirror.codeforces.com/blog/entry/4898
Implicit cartesian tree in GNU C++ STL.
A little bit of classics: dynamic programming over subsets and paths in graphs
This list are going to be too long. I think you should divide the list into sections, for instance, algorithm and data structure.
Hi, have a look at this link : http://discuss.codechef.com/questions/48877/data-structures-and-algorithms
First Comment about that !!
Oh sorry, I didn't look at that.
Maybe this and this
Btw, can you make links relative, please?
(/blog/entry/xxx instead of codeforces.com/blog/entry/xxx then it will be ok for .ru users)
Updated ! Now its ok for .ru user .
Treaps
http://mirror.codeforces.com/blog/entry/3767
MO's algorithm : http://blog.anudeep2011.com/mos-algorithm/
http://mirror.codeforces.com/blog/entry/7383
http://mirror.codeforces.com/blog/entry/7262
http://mirror.codeforces.com/blog/entry/16221
Suffix tree. Ukkonen's algorithm
if only i can see it earlier! can't wait to read.
Hi , this tutorial is so useful too: http://mirror.codeforces.com/blog/entry/14659
+1
I find this so helpful, thus I just comment in order that it can be displayed in the recent actions and receive more attention :))) .
List must contain Al.Cash blog about segment trees.here is the link
Please :)
See below.
http://mirror.codeforces.com/blog/entry/22608
He mentions in the post that this blog is only organising various Codeforces blogs.
Fixed.
Some more posts:
KMP [Dead link]
Tutorial on FFT — The tough made simple.
O(n) solution for 631E (Convex Hull Trick special case)
Faster Dijkstra on Special Graphs [Tutorial]
Mo's Algorithm on Trees [Tutorial]
Splay tree and its implementation.
An awesome list for competitive programming!
Easy geometry using std::complex
[Tutorial] Rolling hash and 8 interesting problems [Editorial]
On the mathematics behind rolling hashes and anti-hash tests
All of the good tutorials found on codeforces
General ideas
An alternative sorting order for Mo's algorithm
Efficient Data Structure for random access and random inserts
Linear Recurrence and Berlekamp-Massey Algorithm.
Link to a useful comment of this blog
Blogewoosh series
Digit DP
[Tutorial] Searching Binary Indexed Tree in O(log(N)) using Binary Lifting
Golden Section Search
'Meet in the middle' with shortest path problems of unweighted graph
[Tutorial] Recurrent Sequences — Application of combinatorics in DP (basics)
Tasks involving numerical integration
Slope Trick
dsu on tree link
Can you add my blogpost on parallel binary search too?
Y0u can add:
2D Range Minimum Query in O(1)
DP on Trees Tutorial
A short guide to suffix automata
C++ Tricks
Non-recursive Implementation of Range Queries and Modifications over Array
Dominator Tree
On Euler tour trees
LCA's binary lifting method for path queries on trees
Everything About Dynamic Programming
Transform Skip list into a BIT with insert operator
I think that can be interesting... Way of problemsetter
Sum over Subsets(SOS)
Maximum sum of coprime pair
RMQ with "Push Update"
Closest point for all points in a plane
Modular Segment Tree with Lazy Propagation
FFT and NTT
[Tutorial] Non-trivial DP Tricks and Techniques
[Tutorial] Sack (dsu on tree)
Counting problems from A to B
Dynamic Programming on Integers
BitMasking & Subset Listing for Absolute Beginners
sum of all elements of all the subsets in power set
Segment Tree Problems
how to find leftmost 1-bit in C++ in O(1)?
An amazing way to calculate 10^18-th fibonacci number using 25 lines of code.
An efficient way to solve some counting problems without matrix multiplication
How to improve your problem-solving level?
String Algorithms
Codeforces bookmarks
All codeforces round tutorials
Tutorial on Trie and example problems
If you ask me how to improve your algorithm competition skill, I will give you the link of this blog.
Segment Tree : The general concept behind Lazy Propagation
[Tutorial] Slope Trick
How to come up with the solutions
Awesome Course Resources for Competitve Programming
Heavy-light decomposition implementation
Some general purpose tricks:
http://mirror.codeforces.com/blog/entry/48417
Another set of links:
http://mirror.codeforces.com/blog/entry/57282
Add this too. http://mirror.codeforces.com/blog/entry/51272 (Burnside Lemma)
This one is really useful. Some advance tricks on segment trees.
Add it: https://mirror.codeforces.com/blog/entry/57319
[Tutorial] The DFS tree and its applications
100th upvote :)
please upload sparse table and fedwick tree data structures also
great