di_z's blog

By di_z, history, 4 years ago, In English

Hi, codeforces community!

I have graduated from university this year and started my career as a software engineer. During my school life, I was a enthusiast in competitive programming and spent most of my time on solving problems. At that time, my goal is to reach 2400, become a grandmaster. That means I can solve at least one hard problem that is solved by less than 100 people within a codeforces contest

As you can see, I reached the peak of my codeforces rating, 2250, last year. After that, I retired from ICPC and graduated from university. Then I participated in codeforces contests much less frequently and solved much less problems than before. My rating dropped to 2000 around and I felt more struggling on the hard problems. However, I feel reluctant to totally give up my goal. I wouldn't like to compromise with the status quo of declining rating. I still want to become red.

But I'm in a really different situation from when I was in school. In old days, I could spend the whole day focusing on algorithms. While now, I have my job taking at least 40 hours per week. After work, I also need to do another things, such as learning English to improve my career or participating in some meaningless social activities on the purpose of finding my true love girl.

So time management could be a hard problem. That's why I come here for help. I have seen a lot of you continue to participate in CP even if you are a full-time employee. I wonder that how much time you spend on CP currently and how you balance the work and the programing contest?

I'm very impressive with dreamoon_love_AA. He has done a great job after he graduated, participated in many many contests, solved 4000+ problems and recently becomed LGM.

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

| Write comment?
»
4 years ago, # |
  Vote: I like it +123 Vote: I do not like it

My college goal was reaching Red too, which I became a couple of months into my job.

Personally, I try to take out time for Codeforces contests — and besides that, I try to go through problems in my free time.

I think you don't have to worry too much about practicing or devoting time to CP — just try to take part in contests if you have time, and think about some problems if and when you are in the mood.

I believe over time there is improvement and you should be able to reach your goal! Most important among all of this is, problem solving should be fun — it should not be a chore or something you have to forcefully make time for.

»
4 years ago, # |
  Vote: I like it -8 Vote: I do not like it

what is LGM ?

»
4 years ago, # |
  Vote: I like it +4 Vote: I do not like it

I started to learn cp after I have graduated from graduate school and been working for a few years. Judging from my own experience, I think finding a cp friend who has similar goal with you definitely will help you keep going. If this friend also wants to improve his/her English or he/she can offer help with your English learning, it'd be even better.

As you can tell, I have a really low-rating and part of the struggle is that I am doing this alone, no committed cp friends. Personally I think having someone as committed as you and practice together is a really efficient way to improve.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +12 Vote: I do not like it

    I think depending on anyone else other than yourself is ineffective, specially for a hobby. The biggest help my friends have done to me is boosting my confidence: 'I know xyz pretty well and I don't think he is much more talented than I am. If he can do it, I can do it too.'.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +13 Vote: I do not like it

      I think finding someone you you know in person in similar situation is hard, especially someone that will actually keep practicing, and if they are in similar situation when just starting out probably not that helpful either, as you both have little knowledge.

      However, when I join USACO discord server, I met a bunch of people better than me, and through them I learned better ways/things to practice and the people I still talk to make me motivated because I want to do compete well against them in contests, and I can also ask them questions when I'm confused. My point is, I think finding a community of people, preferably much more experienced than you when first starting out, can be very beneficial as long as you don't waste too much time talking to them about random stuff (like me :p).

»
4 years ago, # |
  Vote: I like it +13 Vote: I do not like it

I often have a hard time making time for practice. That's why I try to give most time solely on hard problems, instead of giving contests. If you can only take out 4 hours per week, I think it's more effective to try 4 hard problems than participating in 2 Div2 rounds (where you will spend around 1 hour on easy problems), doing hard problems in virtual / mashup contests is even better.

  • »
    »
    4 years ago, # ^ |
    Rev. 2   Vote: I like it +8 Vote: I do not like it

    Thanks for your advice. I agree that to solve more hard problems is more important than to participate in more div.2 contest. I see you participated in less CF contests than me but solved twice problems as much as I did. Very inspiring!

»
4 years ago, # |
  Vote: I like it +46 Vote: I do not like it

Everyone's situation is different, but I'd say most people still can put in decent hours while working full time, it is just that they don't really want to, and this is totally fine and perfectly reasonable.

I stopped actively training/practicing around my second ICPC WF attempt in 2017. Obviously from that point onward I'm consistently declining in terms of CP skills :) And I'm OK with that. I went for summer internship in summer 2017, and then I started working full time in January 2018.

Realistically I'd estimate that I could average 25 hours of practice per week with no issues at all, and more than that with some more reasonable time management and more structured approach. It is my own decision to not do that — I'm only doing a bit of competitive programming for fun, and I spend the rest of my time on various other stuff. 25+ hours per week would probably be enough to stay in a good shape and continue developing my skills, but I think that approach would've made me less happy than I am right now.

Sure, students can put even more time in, but you can practice quite a lot just as well. Unless you have one of those "Single mother who has to balance 2 jobs and taking care of her small child as well as her old parents" situations, it is mainly your own decision to not do much practice. You have 168 hours per week; if you need 9 hours/day for sleep, and 40 hours/week for work, this leaves you with 168-63-40=65 hours for everything else. Plus you have a bunch of "bonuses" on top of that because of stuff like public holidays or vacations when you don't have to work.

Set your priorities right if you want to invest time into competitive programming; but also think twice if it is worth it. Will reaching red make you any happier? Will it have more direct or indirect impact on your life satisfaction than whatever other activity (socializing, playing games, mastering new skills, watching movies, traveling) you'd have to take that time from?

  • »
    »
    4 years ago, # ^ |
    Rev. 3   Vote: I like it -37 Vote: I do not like it

    aryanc403 licks everyones ass especially codechef admins and is a motherfucker .

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it -9 Vote: I do not like it

      How does coding make you happier? All about personal preference and priorities.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thank you for advice! I decide to invest at least 15 hours per week on CP, with the rest available time to learn English or reading books. Hope it could keep me in a steady progress. The progress may be slow, but significant after a long period.

»
4 years ago, # |
  Vote: I like it +24 Vote: I do not like it

It's all about time management and priorities. If you forgo something else, you will have more time for CP.