I recently started competitive programming and have been practicing a lot of Div2 contests. However, it seems that problems A-D (the ones I can solve after some time) are mostly constructive, greedy, implementation, ad-hoc or plain dfs/bfs.
I have been trying to search for contests/problems that involve a diversity of data structures and algorithms so that I can learn more techniques, which is arguably even more fun. It's okay if I can't solve them initially, but at least I hope to learn more from the editorials.
Could anybody recommend good OJs that have contests which can help me maximize my learning of classic algorithms and data structures?
P.S. — By classic algorithms/DS I mean dijkstra, bellman-ford, sparse tables, bridge finding, segment trees, BIT, more advanced dp etc.