Блог пользователя eduard.ordukhanov

Автор eduard.ordukhanov, история, 6 лет назад, По-английски

I did really poorly in Round 562 Div 2 managing to only solve problem A. I did manage to come up with a logically correct solution for problem B, but it was too inefficient and timed out. After the contest I had to look at solutions of others to understand how to speed up my solution for B. I never even got a chance to look at C,D,E.

How would you go about upsolving? I did already look at problem C, and I think I might be able to come up with something after a while, but what about D, and E? Is it even worth upsolving those if I'm struggling with B level problems? Also how much time should one spend trying to upsolve before looking at solutions?

Thanks!

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

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

u should upsolve atleast two problems that u were unable to solve after contest is over

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

Since it was your first contest, I'll assume you are new to CP (or CF) in particular. So I'll go easy on ya.

Upsolving won't get you far unless you learn to exercise your brain (i.e. be creative)

On a side note:

(1) Don't bother taking part in contests till you are really good (i.e. you can solve at least 3/4 the problem set). Otherwise, you are just wasting time.

(2) It is common for newcomers to overestimate their skill until they do their first contest. You are not the first, nor will you be the last. Take this failure in your stride.

(3) Learn that CP is not about who knows the most algos, done the most qns or spent the most amount of time. It is about who uses his/her brain the best. To do that, practice on math/ad-hoc/creative tasks. Those are the ones that help you exercise your brain compared to, say, some ds question like finding number of distinct elements in a range. The latter type of questions have quite standard solutions that you will learn eventually after enough practice.

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

    Since it was your first contest

    When will be yours

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

    Don't bother taking part in contests till you are really good (i.e. you can solve at least 3/4 the problem set). Otherwise, you are just wasting time.

    On the most recent div2, which had 6 problems, solving 5 problems would get you a top-7 placement, and the slowest person to solve 4 problems still had a ~2000 performance. That seems like a pretty high standard to set before you even start competing...

    (For div1 rounds or combined rounds this is even more unreasonable, in my opinion.)

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

      Well. I go to exams to do well and not to struggle. If there are one or two questions that are hard, so be it. But the idea is, most of the questions should be a breeze. My ideal rating graph is similar to that of the top Chinese coders (i.e. few data points which quickly reach red and beyond).

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

        I don't think doing contests before you are good is a waste of time. There are mental and strategic aspects to in-contest performance you can't replicate by simply upsolving problems at your own pace.

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

If you struggle with div2-B, then solve a lot of div2-A/B problems (div2A are more to make you more efficient with just-implementation things).

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

    Thanks,

    Is there some way to sort the questions specifically by Div2 B? Earlier I sorted by easiest, but I found those questions to be way too easy so im guessing those were not even Div2 level questions.

    Also how do you go about identifying common data structures or algorithms that you might be missing when getting stuck on a problem?

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

    Also im assuming that you wouldn't recommend for me to up solve C,D,E until I get comfortable with A,B right?

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

      As someone who has participated in a few contests so far, I can tell you that you won't get the chance to solve C, nor will you have the necessary knowledge to solve C unless you can solve A and B under an hour. I can personally say that doing a lot of A/B tasks has helped me improve in my time taken to solve A/B, but I still need to do a lot more if I want to reliably do A/B in contests. From personal experience, A is either purely implementation (a.k.a. do this exact thing we tell you) or just a small observation, or a small trick that once you learn over many A's, you can solve through in under 15 minutes. Div2 B can be quite tough for me, as sometimes I'm not able to figure out the implementation of the problem, as in, since most B problems have constraints big enough that you kinda have to do in O(NlogN) time or less for it to work, you need to come up with a greedy/math solution, and that can sometimes be tough to do, but even tho I haven't actually practiced enough to solve B reliably, I am seeing progress, and seeing how there are many CF users here who have gone through the same process and now are solving ABC in under an hour, practice is the key here. C is from experience also usually an implementation, but you need to have a bit more knowledge about implementation itself, so I think when you get the hang of B, you'll quickly start solving C as well. D from experience (in Div2) is math + algorithm type of problem, that is usually easy to do IF you know the algorithm or you are good at math. The rest are the same as D but more complex.

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

If you read the problem, thought about it etc. solving it makes some sense.

If you didn't even read it or read it and discdarded it right away then that problem doesn't differ much from all other unread problems in the world. And then it would probably be more beneficial to spend time on solving problems better suited for your current skill. I would advise to use "difficulty filter" in problemset tab: https://codeforces.me/blog/entry/62865

Obviously rating is more adequate after few contests, since there is some variance involved, but this is some starting point at least.