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

Автор jaackxyz, история, 3 года назад, По-английски

Hello Codeforces,

Let me start with confession: I feel I suck at competitive programming.

This is kind of embarrassing, because I work as software developer for over 10 years!.

Despite the fact I feel really comfortable with C++/implementation, even easy "observation" or "ad hoc" problems are often difficult for me. I can usually solve A and B during contest — but slowly. Doing C is waaay beyond me.

As I'm writing this, I've solved ~270 problems on CF plus ~50 more on other platforms. This includes most of A2OJ "ladder" that targets C level. I believe this amounts to 600-800 hours of dedicated practice.

Result? I'm still Pupil. I've reached Specialist, but not for long, so it was more like luck that real achievement.

When I see ratings of other people, rarely I see someone stuck at Pupil level for so long. It seems so easy for many people to reach Specialist and beyond.

So I wonder, is it time to give up my ultimate goal, which is Expert?

If someone invested, lets say, 800h hours for focused CP practice and still Pupil... should "total lack of CP talent" be declared and is it time to move on?

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

»
3 года назад, # |
  Проголосовать: нравится +21 Проголосовать: не нравится

Just saying if I can reach expert (with some luck obviously) anyone can. So if you really want that mental satisfaction don't give up, solve up to d,e in every contest , with some luck you will be there.

»
3 года назад, # |
Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

I am not an expert but I have been in this situation, and I feel 270 is quite a low number. You can just look at the bars. You have just solved 20 problems for every rating. And that's really very low.

Spoiler

I would really say to give it at-least 2years and solve more problems, do upsolve the contest, find a community of Cper maybe discord is a best place imo. You can even dm me whenever you like. Maybe we can discuss how to practice and how to participate, why am I helping you ? Because I have dm a lot of people too in my early stages, and some of them helped me, so do I want to.

»
3 года назад, # |
  Проголосовать: нравится +102 Проголосовать: не нравится

Give up once you start feeling like you aren't having fun. I am of the belief that people should not do competitive programming if their only motivation is external.

However I think you could probably refine your practicing a little. If your 320-ish problems amount to 600-800 hours of dedicated practice time, that means you're spending an average of 2-3 hours per problem. I don't know if, how, or when you decide to read editorials, but I'd suggest maybe trying a larger number of problems.

Usually, if you think about a problem, and are completely out of ideas for 30 minutes straight, that's a sign that you should at least get a hint for the problem (personally I just outright read the editorial). This changes if you manage to solve the problem on your own after those 2-3 hours, but if you use the editorial after that time, you can probably cut an hour or so of "dead" time in which you've already exhausted all your ideas.

»
3 года назад, # |
Rev. 2   Проголосовать: нравится -16 Проголосовать: не нравится

Here is a comparison of how many problems I've solved in comparison to how many you have solved. (I am purple).

Competitive programming is hard. You're not lacking "talent" necessarily, with more problems, you'll get there.

Good luck!

»
3 года назад, # |
  Проголосовать: нравится +201 Проголосовать: не нравится

To estimate your potential, simply multiply your mass by the altitude you are at and the gravitational constant. Here's the formula: m*g*h.

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    You've solved 800 probs, christ CP is no joke. That's why I love this site, the level of talent is crazy. Gj!

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +79 Проголосовать: не нравится

    Man... He meant something else...

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

After the contest, look at all the questions in the contest and its solution, and understand them fully if possible.

Estimate if it is possible for you to solve the problem in contest time if you understood more concepts, or avoided some errors. That is a potential that you can reach. Upsolve them.

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

Competitive Programming at the top (Leg. GM) maybe about potential. But before that, I think it is all about how much tougher questions you have solved, what your state of mind, contest experience, and luck as well. So just keep solving problems a little out of your comfort zone and you will be improving. This is what I did so may work for you as well.

»
3 года назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Your cf acc is 1 year old, you're saying you've solved less than 1 problem per day and spent 2 hours+ per problem. Something doesn't add up. Go solve more problems.

»
3 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
rarely I see someone stuck at Pupil level for so long

See my graph I was stuck at Newbie for 7 8 months

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

This is kind of embarrassing, because I work as software developer for over 10 years!.

Nothing to be embarrassing because competitive programming and software development are not that related to each other.

Other than what others have suggested, you can also do some specific topic trainings to make sure you are familiar with all popular topics. Solving more problems is more effective when you already know and can apply all the common algorithms and data structures.