ChallaAjay's blog

By ChallaAjay, history, 4 weeks ago, In English

Hi everyone,

Unpopular opinion: below roughly 1700, Codeforces is mostly a pattern-recognition contest, not a problem-solving contest.

Look at what actually shows up in Div. 2 A to D:

Prefix sums, two pointers, binary search on the answer “Sort it and greedy” Parity, gcd, and constructive tricks you either know or don’t DP states that are variations of problems you’ve seen before

People who’ve seen 500 problems solve them fast. People who haven’t get stuck, no matter how smart they are. That makes the rating at this level partly a measure of how much you’ve grinded, not how well you think.

The counterargument (and I half believe it): patterns are skill. Recognizing which tool fits is exactly what good problem solvers do, and the same people climb to 2000+ anyway.

So where do you stand?

A) Early rating is mostly memorized patterns

B) It’s real thinking, and grinding just builds that skill

C) It’s a mix, and the balance changes as you climb

Reply with your letter, your current rating, and one problem that convinced you. I’m especially curious whether people above 2000 think the answer flips at higher levels.

  • Vote: I like it
  • -20
  • Vote: I do not like it

»
4 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by ChallaAjay (previous revision, new revision, compare).

»
4 weeks ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

i vote for A

»
4 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

how about pupil or specialist?

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

    pupil and specialist mostly, thats the range i mean. 1200 to 1600ish. above that it starts to need real ideas

»
4 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

A, 1637, and there are so many problems that have solutions of "just sort/do smth with min and max". 2236A for example. It's 800, yes, and it gives the vibes of "iykyk" type problem.

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

    yeah exactly, the “iykyk” ones are what i mean. if you know it its 2 mins, if not you waste 30. did you solve 2236A on your own or after seeing the trick?

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

      I did solve it on my own, and funnily enough it really took 2 minutes lol. I'm sure there are better examples of "iykyk" problems, but I already forgot them.

»
4 weeks ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

I believe C. My reasoning for this is if i give a reasonably smart person who has never done cp but knows how to program a list of every trick for cp, its unlikely they will be able to solve div2 c. Evidence for this is you are allowed to use google for codeforces rounds yet a large portion of participants cannot solve div2c. I don't think its pure thinking because coming up with completely novel ideas to solve each problem is just not feasible. I don't think I could reconstruct binary search within two hours had I not known it and thats one of the simplest "common" algorithms.

»
4 weeks ago, hide # |
← Rev. 2  
Vote: I like it 0 Vote: I do not like it

I'm not even pupil, but imo, it's B. most div2ABC i've done in the recent rounds(you can check my profile) had almost no interesting algorithms not even the ones you put on there.

They were all mostly observation, ad-hoc, some greedy you had to prove in your head or a combination of them. (besides ofc the educationals, or div3's but those are kind of rare, and it's usually only the last problems that use them)

I doubt that seeing 100 editorials would've made me learn some new algorithms/topics that can help me beat the problems, most of the time, if i am to solve a problem at my level, it's just that my brain comes with it after x amount of time or, if i get really stuck, then i just read the editorial, try to figure out how i can come up with the solution(usually it's really hard to form a thought process that would get me there, or it's just that i haven't combined the observations that i've made properly) and that's it

I can't speak for any higher than C though so above specialist i don't really know if there are algos/topics/tricks that need reading

Also, I have a question, do you think editorials actually help you? I read them when I get stuck but im not sure if I actually keep it in mind for a next problem that uses the same kind of observation, like sometimes i feel like im reading it for nothing and im also spoiling the problem because maybe i could've done it in the future..

»
4 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

It could be A, B or C depending on the person and how they are training for example someone who tries a problem for 5 minutes max then if they can't come up with a solution they look up the answer will be more close to 'A' than someone who thinks about a problem for 2 whole days then if they can't solve it they look at the answer, I personally like the C approach because the entire point of CP is to be a better programmer not just to improve an imaginary number on the internet and being a better programmer means being able to do both 'A' and 'B'.

»
4 weeks ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

C. Problem solving is a mix of intuition, seeing something quickly, and thinking skill, the ability to find a solution on a problem you dont know how to do. I think its mostly intuition earlier, but i think some thinking is still needed if you want to perform consistently

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

I vote for C

»
4 weeks ago, hide # |
← Rev. 4  
Vote: I like it 0 Vote: I do not like it

You can use the likes system to set up a poll:

A

B

C

Here's the code, replace parentheses with square brackets:

A (likes:1,A)

B (likes:1,B)

C (likes:1,C)
»
3 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

<1600, practice efficiently works + a bit of luck. 1600-1700 idk it seems to involve both rng and a little bit of IQ/talent. I never thought of it as memorized patterns so mostly id say its B and maybe C.

1700-1900 is the main IQ/talent barrier where if u cant pass it despite an optimal strategy the problems are innate and you pretty much end up there.

»
3 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

It got to 1600 about a year ago and now I am back to Pupil again. It happened due to myself not practicing. What I have noticed is:- 1. After regular random practice, when I look at a problem and idea comes to my mind from nowhere. I don't know why. It's not even any obvious pattern. But it just comes. 2. If I stop practicing it doesn't come anymore like before. It kinda fades or becomes slow. 3. And what felt common sense at 1600 level (in some problems), long after returning to those problems felt like alien problem. 4. I can still ensure that I didn't forget any traditional technique like prefix sum, binary search or any topic. Neither I forgot how to implement them. Just the ad-hoc ideas / observation doesn't pop up in my mind instantly. 5. On some very rare cases, something I cannot believe happened (at most two/three problems in my entire life), I looked at problem, wrote code subconsciously without even understanding even a little bit and it worked. (It worked on a problem of 2D array of binary bits I remember) but I felt the solution somehow.

In summary, what I can say, I have no explanation. Practice just works

»
3 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

C. Because now I know that only the volume(number of questions) doesn't matter for improving your rating. It's also about how you approach problems in the limited time of a contest. I don't think people can come up with great ideas for every problem every time. they have also worked on patterns to come up with new ideas that align with the problems they have tackled in the past.