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

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

today marks my 1 year of competitive programming experience and i did not feel satisfied for the time i've invested for this activity.My performance is really unstable and i did not find a solution for my problem.it is really sad since when i started c++ i felt really enthusiastic to become a grandmaster but turns out i can't even break the barrier of newbie in 1 year.

The first time i went to this website is around 1 month after i started c++.i saw so many great problems and feel really eager to solve every one of them.but i was lazy for few months and decided to change account to this.Being determined to improve,i tried to practice everyday,saw how people code,met new friends and tried to learn new technique everyday.I always feel something is missing when i did not solve a problem in a day.

Thus begin my struggle.I could not solve a problem in a contest,or if i did,i can solve 1-2 problems slowly.i was very confused because i've been practicing problems yet i'm still inconsistent.You can check my contest history.After the contest was over,i waited until the problem rating appears.turns out i could not solve problems that are 800 rated.800 rated is the easiest problem in codeforces but somehow i could not solve it.So i deciced to grind 800-1000 rated problems.

After solving tons of problems in 800-1000 i still feel like nothing's clicking on my mind.i tried to seek help but nothing really helps me.i tried to gain positivity.i always say to myself i can do it.but in reality,i could not.i tried to join contest as much as possible but nothing really changes.it is just me struggling to get to 1000 rating.

After struggling,my friends said that i need to take a break and enjoy life more.i followed their suggestion.i play games at the time when i usually grind.i only study 1 hour a day.i gained a little bit of happiness but my performance dropped.u can see from my graph it went from 900 to 688.

i feel like this is the right time to quit codeforces as i do not know what to do anymore.Everyone says practice makes better and here i am,being one of the example that practice is not always gonna help.sometimes,giving up is an option.

goodbye

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

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

What you expect from yourself after solving too many easy problems ?

Most of your solved problems are <1200. Stop crying over your rating and first practice some hard problems above your comfort level and learn some new theory/ concepts.

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

    You are right,i need to practice above my comfort zone.but the thing is,try to check my rating first.its 600 and i do mostly 800-1100.how is 800 not above 800.the point of me doing 800-1000 rated problems is that i want to be consistent at those rating first,but im unable to.if i can't even finish the first step,how am i going to climb?

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

      In my experience, 800-1100 problems are not of much use. They are just click-bait type. You will get the solution in one go or not and if not, just see the editorial because they always have some observation. I think only hard problems are of use. You always get something to learn from them (tricks, theory, etc.). You will not get anything from solving easy problems. Solve hard problems and then you always get the idea for these easy problems. Solving hard problems developes your brain for critical thinking. After solving some hard problems, you will mostly get the intuition for these easy problems. Think about 1-2hrs for 1300-1500 problems and then look at editorial. This process will take time but one day, this will definitely increase your ratings. (Solving one hard problem is much better than solving many easy problems)

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

        Yep, A-B's are often kind of mathy, guessy or catchy type ) But C-D's are often the same thing + programming and data structures :)

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

      I don't know for sure, but it looks like 800 is just the minimal possible rating for any problem on the codeforces platform. So if we hypothetically get a trivial "add two numbers together" problem in some contest, then it will be still rated as 800 regardless. Additionally, if you have problem tags visible when doing your practice, then this is a major spoiler. Which makes your experience very different from what you normally encounter in real contests.

      You can try to do virtual contests as your daily practice and see if this improves anything.

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

      actually it is if u want a rating X u should solve >=X and <=x+200. u'r confusing it with "if u r at a rating x u should practice >=X and <=x+200.

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

You need to believe

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

I understand your situation because I was in the same situation you are(see my graph), I just suggest you some things that I have done, 1. Solve problems between 1000-1300(In your case 1200+ as you solved many problems<1200) sorted by user submission. 2. Watch streams of CP'ers and Learn new techniques from them. 3. Solve atcoder problems to increase your speed. 4. Most important — upsolve the problems after contest, you learn many new things there too. 5. Read this for more information. You can take some break If you want but don't miss contests. It helped me and I am still following this but now I am solving 1200-1400 problems and increase range with rating(rating+200). Hope it will help you too, following it at least 1 month and write me your results.

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

Amazing. So is it easy for you to solve A, B in contest now? If not I'd like to see and hear how you solve this simple A, B problems. From some contest, that you didn't solve before. If you can do youtube videos.

And about those problems that you've already solved, how many of them can you re-solve in 30 min?

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

why are you doing more than 350 A problems, stop doing A and B's, start doing div 3 C, D, E's and div 2 B, C, D's

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

    i... think div3 E is a bit too far, last one was 1800, the one before was 2000, same goes for div3 D but some are still doable, from my own experience solving div2 AB (or div3 ABC/ABCD) was enough as a newbie

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

      Those are very inflated though. I'd argue a 2000 Div. 3 is easier than a typical Div. 2 1800 problem. Just take any F from Div. 3 they are usually 2300-2400 whereas in reality you just implement lazy propagation on segment tree to solve them.

      Here's an example of a Div. 3 2100: https://codeforces.com/problemset/problem/1551/D2

      Compared to Div. 2 1700: https://codeforces.com/problemset/problem/1255/D

      Very similar idea is used to solve both problems. Perhaps the Div. 3 one is slightly more difficult, but I'd say roughly they are about equal in terms of level of difficulty. Just one note — don't focus on the editorial of 1551D2 as it makes it more difficult than it actually is — a simple greedy strategy gets the job done (take a look at my submission to both problems to compare).

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

solves 800-1000 problems

doesn't reach > 1000

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

My opinion: you should stop solving random problems, it's better to solve topicwise. For example, you can use USACO Guide.
If you solve topicwise, you will learn some common techniques more easily. If you solve random problems, it may happen that two problems use very similar techniques, but you don't flag them as "important" or "recurring" because in the meanwhile you've solved some completely different problems.

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

    how do i use usaco?

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

      Don't necropost. I can feel the people downvoting both of us in near future.

      Besides that, are you so retard to not see that GET STARTED button in USACO?

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

Don't bother seeking advice on cf blogs, they are full of shit and retards.

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

there's nobody expecting you to break newbie in a specific amount of time, it took me about 2 years (ignore my first few contests, ratings started at 1500 when i made my account), i recommend solving slightly out of your comfort zone for improvement (this can be said for pretty much anything), as a general rule, if you can solve a problem of X rating very easily you should try something harder, if you think a lot and cant come up with anything you either need to lower difficulty or learn a new topic that is required for that problem (although for 800~1200 there's not a lot of topics)

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

UNLUCKY!!

»
3 года назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
This helps me whenever I'm feeling down
»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Try AtCoder.

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

Solving 800-1200 problems can make you good at implementation and programming but in most of the contests problems C,D and after them need some data structures and some ideas that you can't get from solving easy problems. If u don't have any problem with implementation and coding then go learn some useful ideas and It will improve your performance don't worry

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

Screenshot-20210820205005-1116x517

Everyone says practice makes better and here I am, being one of the examples that practice is not always gonna help.

Well, sorry if this sounds bad, but out of all the practice you have done, approx > 80% of the practice is just problems < 1100 rated ones. And in that sense, they don't really count as practice tbh. "Practice makes you better" is a very vague thing to say, "Correct practice makes you better" is the better thing to say, and solving 800s is not at all practice.

If you start solving at least 1400 rated problems you would notice the growth in you. Yeah, I know it's very hard sometimes but believe me that would be very much rewarding than solving 800s

Ok now coming on to other things.

I always feel something is missing when I did not solve a problem in a day.

Believe me, you are not alone. Many people including me end up spending days on a single problem and that's completely fine :)

After solving tons of problems in 800-1000 I still feel like nothing's clicking on my mind.I tried to seek help but nothing really helps me.

  1. I suggest to try doing cses problemset along with the help of book they have provided.
  2. Do Atcoder beginner contests. They are very educational.
  3. Try learning things like binary search, 2-ptr from EDU section (best material for these 2 topics out there imo)
  4. Even if things like above options don't work out, go for something easy like leetcode (Yeah, I know people here underestimate this site but it helps with standard things)

I hope I was able to help in some manner and wish you good luck :)