Loading_Error's blog

By Loading_Error, history, 11 hours ago, In English

Sometimes I open a Codeforces problem, look at its rating, and think:

"This should be easy."

Then, 30 minutes later, I'm still staring at the screen.

The funny part?

Sometimes the solution is actually simple.

So why couldn't I solve it?

Recently, I've started realizing that there is a big difference between:

Knowing a concept

and

Recognizing when to use it.

For example, I might already know about:

  • GCD
  • Sorting
  • Prefix sums
  • Binary search
  • Two pointers

But when a problem doesn't explicitly tell me which technique to use, everything suddenly becomes harder.

Reading the Solution Feels Easy

This is something I find interesting.

After failing to solve a problem, I read the editorial and think:

"Oh... that's it?"

The solution suddenly looks obvious.

But if I had never seen the editorial, I might have spent another hour without finding that idea.

Understanding a solution after seeing it and finding that solution independently are two very different things.

Maybe the Problem Isn't Always the Problem

Sometimes I fail because I don't understand the algorithm.

But sometimes the actual reason is much simpler:

  • I missed an important detail in the statement.
  • I ignored the constraints.
  • I overcomplicated the problem.
  • I started looking for an advanced technique too early.
  • I had the right idea but couldn't implement it correctly.

This is why getting a wrong answer can sometimes teach me more than getting an accepted submission immediately.

The Most Dangerous Thought

For me, one of the most dangerous thoughts is:

"I can't solve this problem, so I probably don't know enough algorithms."

Sometimes that is true.

But sometimes I already know everything required to solve the problem.

I just failed to connect the pieces.

And recognizing those connections is probably one of the most important parts of competitive programming.

What I'm Trying to Improve

Instead of immediately searching for a complicated algorithm, I'm trying to ask myself a few questions:

  • What exactly is the problem asking?
  • What do the constraints tell me?
  • Can I solve a smaller version of the problem?
  • Is there something important that remains unchanged?
  • Can I find a simple observation before thinking about advanced techniques?

Sometimes these questions lead nowhere.

But sometimes one small observation completely changes the problem.

Still Learning

A problem being easy doesn't necessarily mean it will be easy for me.

Every unsolved problem can reveal something that I need to improve.

Maybe one day, the problems that make me stare at the screen for an hour today will become the ones I solve in five minutes.

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

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

bro it's not linkedin

  • »
    »
    7 hours ago, hide # ^ |
     
    Vote: I like it +5 Vote: I do not like it

    it would still suck if that was Linkedin.