Блог пользователя Number_72

Автор Number_72, история, 19 месяцев назад, По-английски

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.

  • Проголосовать: нравится
  • -8
  • Проголосовать: не нравится

»
19 месяцев назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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.

  • »
    »
    19 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.

  • »
    »
    19 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      19 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      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

      • »
        »
        »
        »
        19 месяцев назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

»
19 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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).

  • »
    »
    19 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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?

    • »
      »
      »
      19 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      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).

»
19 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
19 месяцев назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится
»
19 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится