confusedman's blog

By confusedman, history, 5 weeks ago, In English,

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.

EDIT: Cmon guys you know Div2 on codeforces isn't very diverse (these days atleast), why the downvotes?

 
 
 
 
  • Vote: I like it
  • +17
  • Vote: I do not like it

»
5 weeks ago, # |
Rev. 2   Vote: I like it +13 Vote: I do not like it

I'm a fan of video tutorials personally. Here are some good ones:

  • Algorithms Live by Matt Fontaine

  • I am making some Algorithms Dead videos on topics that I feel would be helpful to know in addition to what is already out there. They used to be fairly low quality, but I am getting better over time.

  • Errichto's Second Channel has a couple good IOI prep videos that may be helpful as well.

If you like books:

  • Competative Programming 3 I have heard good things about from beginners

  • Looking for a Challenge is a fantastic book from monsoon with many other co-authors, that I would highly recommend for interesting problems and solution ideas. It doesn't focus too heavily on classical algorithms though.