I am doing this coding stuff from about an year now and now I guess is the right time to learn some really cool stuff . So I am looking forward to have some suggestions about how to improve coding and which algorithms I should focus on and how to start on somewhat harder level . Also I have difficulty in solving problems including trees and graphs so if someone could guide upon that as well it would be really appreciated . Open to all type of suggestions . Thanks
First learn these concepts
1)binary search on answer
2)segment tree
3)dynamic segment tree
4)persistent segment tree
5)network flows(max flow)
6)sqrt decomposition
7)number theory(modular inverse and etc)
8)matrices
9)dp optimizations
10)divide and conquer
And then you are left with some not so common techniques like Heavy Light Decomposition and other.
After you learn the above,you will be at a pretty nice level.
You can follow this list:
Data Structures and Algorithms
Concentrate on Dynamic Programming, DFS, BFS, Dijkstra, MST, Segment tree, String matching etc.
Could you guys share some of the video lectures as well especially the concepts you have mentioned @hruday968 as I am not that good at learning by reading stuff . It will be really appreciated .
This might be helpful.