Number_72's blog

By Number_72, history, 18 months ago, In English

Hi, I am a high school student trying to improve in order to compete in the IOI. Yesterday, after 4 months of practice, I have become a specialist on codeforces. Now that I have somewhat got used to how I should practice constructive and greedy algorithms, I have a question for you. What topics should I focus on studying next? By topics I mean stuff like graphs,dp (etc.). Please assist me with your knowledge. Thank you in advance.

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

| Write comment?
»
18 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

i'm have been practising almost 14 months.But i can't reach Cyan. How have you been practising.Would you like share your how you have been practising.

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    When I first started in July, I learnt a lot of STL functions from various YouTube channels. This helped me simplify my code drastically, so I solved implementation problems for a while to get used to them. Then I got familiar with the concept of binary search and solved a lot of problems from various websites about it. I also learnt a few very very basic algorithms like prefix sums and suffix sums. Then, I learnt a great amount of graph algorithms. I solved around 70 problems from the difficulty range (1400-1700). This really augmented my implementation and recursion skills. Then I realised I had to focus more on greedy and constructive algorithm problems. So I solved a lot of (1200-1500) rated constructive and greedy problems. I think this was the real game-changer for me. Then I learnt introductory dp so that I could at least solve choice problems like knapsack. Finally, for the last month, I have been solving random problems from topics I know to not forget them and try to learn new things with ease later on. This was my strategy. I hope I explained it clearly. Have a good day.

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I see that you are solving a lot of 1000-1300, You may make your solving range harder

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      i have an idea.i have been solving every rating bigger than 100 problems.now i have been solving 1300 rating problems if i will solve bigger than 100 problems.i will solve 1400 rating problems.is it good idea or bad idea

      • »
        »
        »
        »
        18 months ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

        It will take a lot of time. you can spend this time on harder problems, this will be more productive

        • »
          »
          »
          »
          »
          18 months ago, # ^ |
            Vote: I like it +1 Vote: I do not like it

          yes you are right.thanks for your idea.

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

If you want to get more rating (become an expert) codeforces, you need to ensure that you can complete D in each round.

You can view the algorithm tags of C and D in Div.2 in problemset to see what algorithms you need to learn.

According to my experience, C generally does not need to use any algorithm (except for brute force, greedy and other common algorithms), and D involves DP and tree (usually only need to traverse and operate in the process of traversal, so it is similar to DFS).

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thank you very much, I have learned simple algorithms like DFS,BFS,topsort and DSU ans solved around 70~ problems. Now that you have given me this info, I want to ask, what difficulty range should I study with?

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      There's many good problems on Codeforces. You can start from around 1500.

      But if you want to go deeper in OI, you need to try a wider range of problems.

      Most Codeforces problems only contain some of the algorithms of OI. In China, we study algorithms on Chinese websites. I think there are also English websites for learning algorithms that I don't know. In my opinion, Codeforces is more about examining algorithms you've learnt and practicing mathematical thinking problems(constructve algorithms, greedy, etc).

      Sorry that part of my comment is translated with a poor translator(and my poor English).

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

solve A2OJ, I think it may help. I recently found out about it, and in my opinion the site really helps if you solve ladders and don't skip tasks

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thank you very much, will check it out for sure.

»
18 months ago, # |
  Vote: I like it +7 Vote: I do not like it
»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it