sucks_at_cp's blog

By sucks_at_cp, history, 7 days ago, In English,

Hi CF communtiy,

So I was wondering What exactly is Competitive Progamming? (I genuinely don't know the correct answer)

-> Is it just Competitive Problem Solving where the answer is in form of (mostly ugly) piece of code?

Hence required skills: Problem solving, Maths, basic programming.

-> Or is it Competitive Problem Solving which can't be achieved without code implementation and required code complexity increase with problem difficulty?

Hence required skills: Problem Solving, Maths, Good Command at programming.

If it's the first, I would like to request you all to please stop complaining how Adhoc is making CF bad. Because most Adhoc problems and other minimal implementation problems are good for this category.

If it's the second, I think problems requiring usage of Data structures and algorithms (and geometry, god I've never seen them in any contest I ever participated in) are really lacking from CF(nowadays atleast), which will be really bad, since a good competitive coder will need to be a proficient programmer as well(as per this category)

I know the LGMs/GMs are just fed up of standard implementations of various DS and Algo and so really prefer adhoc problems, so I would appreciate if you could answer after removing any personal bias.


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

7 days ago, # |
Rev. 2   Vote: I like it -32 Vote: I do not like it

I myself couldn't understand it at first , just aimlessly coding

Then I read vovuh's comment somwhere on a similar question....

He said he couldn't really explain it but Its more like how sound works .....

I can't put it in words myself , This might help you to get a better understanding ,

or you can go through vovuh's comments

7 days ago, # |
  Vote: I like it +10 Vote: I do not like it

For me it's more like solving a puzzle.
It's fun and challenging at the same time.

And also after solving a problem in practice I generally look at other's solutions.
Sometimes I find mind-blowing implementations which make me feel glad that I looked up that solution! :)

7 days ago, # |
  Vote: I like it +16 Vote: I do not like it

A puzzle contest that you have to answer in programming language.

7 days ago, # |
  Vote: I like it +47 Vote: I do not like it

I would say closer to the second. The “coding” part is definitely of nonzero importance. I kind of agree with your point that data structures and geometry problems have been rare recently. I also think part of that is that they show up as the hardest problems in the set though too (Monogon round 2 hardest div1 problem, recent div2 problem E, and so on).

I think it is a good trade off to have some standard (possibly even not super original) problems in div2 only, div3, and educational rounds to fill this gap. Obviously it is bad to put “implement a segment tree” as a div1A/B because it will be very unpopular in the div1 set, but for many div2 participants, more classical problems aren’t necessarily bad. Especially if you keep in mind that these people likely haven’t spent as much time as you mastering the easy algorithms (otherwise they wouldn’t be in div2 still), so it is probably at least somewhat new to them.

I want to be clear that I’m not saying “div2 is less important”, but I am saying “originality in div2 is less important”. If all of your div2 problems are original and easy, you wind up with lots of iq tests which don’t ever teach the standard techniques.

7 days ago, # |
  Vote: I like it 0 Vote: I do not like it

My definition of cp is: competing with others in solving algorithmic puzzles (not necessarily well_known algorithms!). And if you wanna improve your knowledge and have special weapons (data structures) to solve the problems, then go and learn them. There is NO rule that famous data structures must be used! and the enjoyable part of cp is not implementing the data structures, however, it is thinking and trying new approaches to solve the problems. exactly like solving puzzles! (All of these are just my opinion!)