HasNyen9's blog

By HasNyen9, history, 21 month(s) ago, In English

Hello guys,so Im a newbie here and i'm currently trying to solve A and B problems of the recent contests faster.Yes,I'm practicing,but do I have to learn algorithms at this stage?Or should I just keep solving problems.And if i should learn algorithms then from where do I begin?

  • Vote: I like it
  • -4
  • Vote: I do not like it

»
21 month(s) ago, # |
  Vote: I like it 0 Vote: I do not like it

Just solve problems. Then learn binary search when you can solve A and B easily.

  • »
    »
    21 month(s) ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Lokeo It would be helpful if you can give some suggestions of at which rating one should learn which data structure & algorithm?

    • »
      »
      »
      21 month(s) ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      1200-1300 binary search, simple DP

      1600-1700 2D-DP, segment tree, dijkstra algorithm, bitmasks

      1900-2000 DSU, SCC (strongly connected components)

      Btw, highly recommend reading this blog [https://codeforces.com/blog/entry/98806]

»
21 month(s) ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Just solve problem, hone your problem solving skills bro. Problems under 1800 rating usually don't require complex algorithms. As a newbie, I suggest learning basic stuff like binary search, quicksort (programming languages usually have these thing in libraries, so you don't even need to learn how to implement them, just learn how to use them), look up table, etc., then solving problems from a rating range until you can do problem in that rating more than 80% of the time, then jump to the next 100 ratings (for example: you solve 800 problems until you can solve 4 out of 5 problems by yourself, then jump to the next 100 rating, which is 900, then 1000, 1100, ...). Just jump until you got to 1700 — 1800, at this point you need to learn complex stuff like priority queue, trie, dsu, etc.