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

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

Hello Codeforces community,I have recently started participating in contests. Before that, I was just solving the A2oj ladder problems to get familiarised with Problem levels A, B, C, D. Now what I have seen in my case is that sometimes during virtual contests or in contests as well, I get stuck in problem level A as well.

So I would like to know if this happens with experienced coders as well? Also what do you think is the best approach to improve, whether I should focus more solving many more A and B problems until I become good enough to not get stuck on these, or should I continue practising C and D levels as well, hoping that the improvement in C and D will help with A and B as well. I mean should the approach be Breadth First where I become very good at A, then B, then C and so on or should it be Depth First, where I upsolve C and D as well and keep practising all types equally.

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

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

Some A's and B's can be quite tricky for some people, actually, since they usually focus on little tricks and observations that even some experts and higher can miss. A good way to practice might be to focus mainly on more complicated problems, but sometimes solve A and B to train your speed on simpler problem.

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

    [Deleted]

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

      Well my highest rating is expert, so at least my answer still has some value in it :)

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

    Thanks for the advice. Really, A and B sometimes have good tricks associated

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

      To me, solving A and B is like a game of pure luck, since standard algorithms either don't work or are just overkill. So it's like you either notice the correct pattern and solve it in 5-10 minutes or you spend a whole hour sitting at your desk feeling retarded.

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

Yes, it happens.

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

    So what is your strategy? I mean I understand what worked for you may not work for me, just curious about whether you solve like a lot of problems in one topic before moving to other or do you solve few problems and move to next topics and upsolve during contests?

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

      ground_0 his A and B are our D and E

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

      You ever notice how every time a gray guy asks a question they always say something about solving topic wise?

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

        not sure about color ..however for many beginners so many algorithms and data structures become quite overwhelming at first..

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

          This is really strange because beginners need to know about 3 algorithms: binary search, DFS and prefix sums.

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

            Absolutely true...but they don't realize it until they give 3-4 contests and upsolve them..

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

            Isn't it like that?-> I was randomly solving problems and suddenly got stuck on a problem, then read the editorial. I got a new name DFS. Then I studied and solved some problems on it. And again I went to random problem solving. (Actually I was studying on DFS today for the first time.) Is it ok for a beginner who was introduced to CP(without any programming background) about 2/3 months ago?

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

              This is the best strategy to follow. However, many beginners hear from somewhere 'you need to know lots of data structures and algorithms' and they end up trying to learn segment tree before they can solve Div2 AB. I am not saying it's bad, but it's inefficient. Going from easier to harder topics and learning things that you face in problems is more efficient and stays in memory for longer time.

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

I once as a low expert was able to solve Div 2 B and Div 2 C in an official contest. And I wasn't able to solve Div 2 A lol.

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

Sometimes A , but the chances of getting stuck on B are more than that of A

And it's a disadvantage, specially when you are the type of guy who can't move to the next problem without solving the current one , just like me ...

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

    I can relate to that

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

    Please don't remain that type of guy who can't move to the next problem without solving the current one. It may hurt real bad, especially in onsite contests like ICPC. Been there, done that. I am sure this can be avoided by trying.

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

      Ofc not , I believe that changing and improving are one of the main factors contributing to your developement ...

      The moment we stop changing or improving , that is the moment we go downhill ...

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

Yes it happens , many times. Also if you know cricket then the same scenario can be mapped as Master Blasters like Sachin Tendulkar getting bowled on very first bowl which happened many times.

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

    KUCH BHI

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

    Bhai mazaak nhi kr rha , tune jo itni gandi analogy di hai na , uss hisaab se tujhe newbie se bhi niche hona chahiye ,

    Bhai A nhi ho to B to attempt kr skte hain same contest mein , par ek baar out ho gye toh dobara thodi khel skte hain ussi match mei

    Tu toh jab out hota hoga to try ball bolke dobara khel leta hoga , par asli match mei thodi hota hai aisa

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

Yeah. It happens sometimes. Once I solved A, C and D in a global round but couldn't solve B.

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

    Let me guess. Is the problem B is harder than A, C, D you said is this problem ? I saw many experts stuck on this problem.

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

      No. It was actually this problem from Global Round 8. And I didn't say it was hard. I couldn't solve it because I overkilled a simple idea.

      Although the problem you said was also a nightmare for many but (un)fortunately, I was CM that time and had participated in Div 1.

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

        Oh, yes, that problem made many stuck too. C is definately easier to think than B

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

Check My history :(

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

Yes. I've stucked at B several times.

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

Yes, and I think usually it's for one of two reasons. I'll even limit myself to just Div2A problems in recent memory.

(1) The problem statement is complicated, confusing, etc.

  • In my opinion these kinds of issues should be caught or fixed earlier in the development stage of a contest.

  • This can be further described by some (not necessarily mutually exclusive) subcategories.

1a. The setup/game/premise in the problem is (relatively) somewhat convoluted and described in an unclear way.

1b. It contains a lot of information, values, and variables to keep in working memory, which can get overwhelming or confusing.

1c. The wording of the problem could have been phrased less ambiguously (understandable, since technical writing is hard especially when English is not your first language).

1d. The problem statement is just long.

(2) The problem requires a simple insight which ends up not being as obvious as the problem setter and coordinators had expected. Thus, the problem is genuinely difficult.

  • Gauging the difficulty of an insight is difficult, so I find this more understandable.

  • I actually like these types of insight-based problems (see discussion here) but I understand that it can be frustrating for people who just aren't able to see it.

2a. The problem is guessable, but an actual formal proof is more involved than usually expected from a Div2A problem. This trips up people who refuse to do "Proof by AC".

Anyway, here are some examples from the past few months, in no particular order, with a less-than-usual solve rate and/or higher-than-usual difficulty rating. I don't want to call out any problem setter as having bad writing, since I respect that making a problem set takes a lot of work and not everyone should be expected to be masterful in English, especially in technical writing. Still, I think you can make your own judgments on which of the following problems are hard to read and which are actually hard.

1393A - Rainbow Dash, Fluttershy and Chess Coloring

1354A - Alarm Clock

1339A - Filling Diamonds

1366A - Shovels and Swords

1373A - Donut Shops

1365A - Matrix Game

1364A - XXXXX

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

    2a really important, if your div2A is harder to prove than div2F miss me with that shit.

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

I solved my first D(div — 2) a few contests back :P(The last educational round if i remember). Sometimes E with no B other times E with no C but mostly A, B, C are easy enough(atleast if you can't solve then make a reasonable guess)

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

Yes, In Ashishgup rounds.

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

    Thanks for sharing that! I can only imagine how saddening those times would be, but its great to see you have reached International Grandmaster level now. Thanks

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

Yes I personally have such experiences. Especially when Div2B is implementation-heavy than usual, because I am really bad at coding. I personally hate when Div2B problem is about some $$$H \times W$$$ sized 2D-grid and inputs are bunch of * and # characters, since I mess them a lot. This occasionally happened even after I reached 2000+ rating. (Mostly this is because of my laziness which makes me not practicing implementation enough)

(Edit: I found it) Here is an example lol

I had no idea how to solve Div2B except using Fenwick Tree. I just used my library code and got AC without that much difficulty, but I felt very bad about myself unable to think and come up with intended proper solution when it isn't that difficult.

For advice, I recommend solving Div2A-B level problems until you are comfortable with those. Topic-wise practicing would not help much since there are not that many diverse topics in Div2A-B level problems. I personally recommend E869120's training method link even though there were some disagreeing comments back then.

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

Yes. How can I forget this.

I remember sitting idle, staring at the screen, rapidly switching questions A-to-B, B-to-C, C-to-A. Panicked because of not being able to solve even a single question, and came out of the contest, bare-handed. The thing is not to get demotivated and try harder in the next contest.

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

In one Div3 contest, I as a candidate master was not able to solve A.

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

Speaking only for myself, occasionally I’ll get them wrong on the first submit or fail system tests because my solution wasn’t actually right and I didn’t think for long enough, but I almost never get stuck on them for a long time.

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

yes, in the last contest I got huge rating drop because I was stuck on problem A for nearly 40 minutes and did not move to next problem which I found easy.

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

    More bad happened with me, i jumped directly from expert to pupil. Can you give me some suggestions >