Jahid's blog

By Jahid, 10 years ago, In English

I want to know which is more helpful?

  1. Up-solve a single problem without any help from tutorial of contest by taking three days.
  2. Up-solve two problems with the help of tutorial of contest by taking three days.

Point to be noted: In both case, My concept get clear about a particular problem.

Difference is:

  1. In the case of 1, I find the technique by myself but solve 1 problem of one type.

  2. In case of 2, I find the technique with the help of tutorial but I can solve 2 problems and they can be of different types.

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

»
10 years ago, # |
  Vote: I like it +3 Vote: I do not like it

My vote would be for 2. But it depends...

My strategy is to "solve one more". If I was able to solve 3 problems in contest, I'm going to solve 4th. If the idea was clear to me I do not use editorial, I do otherwise. If I was not able to solve a problem in a contest because of time only, I do not count such problem as "one more", so I'm trying to solve another one...

Sometimes I do not have a time to follow this strategy, so my progress is not as good as I'd like to...

»
10 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Imho doing two questions in three days using editorials isn't a good option. It's too slow (except if you don't have time). Most of the time you will know within 30-60 mins that can you solve this problem or not.If you can then you should take as much time you need to solve it else read the editorial and then solve it. I will rule out first option because suppose you haven't read about Segment tree and the question is on this topic, then there is very very very less chance that you re-invent the segment-tree and solve it. So what's the point in wasting time.I would prefer doing atleast 6-10 questions in three days and that questions must be the ones as Betlista described.

You can read about it here and quora is full of these types of questions. They will guide you well :)

»
10 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Upsolving hard problems is like trying to break the wall with your head. It's ok to try to do it, but when your head starts aching, you probably should use some tool instead (i.e. read editorial, look at other coder solutions and so on). So my vote is for second option.

»
10 years ago, # |
  Vote: I like it +22 Vote: I do not like it

I might say something opposite to what other guys were saying but I think you need a healthy balance between these two options to be able to solve problems well. Reading an editorial where somebody explains to you how to solve the problem might never give you the same experience and knowledge as the one you might gain by cracking it yourself.

I was spending several evenings trying to solve some problems before, I wasn't always successful in solving them but even the ideas I find while trying to solve some particular problem sometimes give me more benefits than reading an editorial.

Of course I won't say that you always need to find solution on your own, one needs to be a genius to be able to do that, so sometimes editorials are helpful when you see a problem for which you simply do not know the theory. Then editorials + some materials to be familiar with new topic are helpful. But from my experience the amount of theory you need to know is not as big as you might think, at least on certain level of contests. You can see I'm red for several contests so far, but in my opinion my theory knowledge is very limited comparing to most red and even orange coders here. But even that limited knowledge is enough to be red on CF, it's just a matter of applying the theory. And in order to apply it, you need to think on your own, editorials can't help you with that.

Ok, that being said, I must also mention that I do not have any deadlines, no ACM seasons to participate in, nothing like that, so I have no hurry in studying here. I take my time. If you need to gain knowledge quickly maybe you need to read a lot of editorials and my opinion might be irrelevant in that case.

  • »
    »
    10 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    marat.snowbear it's a great opinion. Thank you a lot.

    Another thing after solve a problem I usually like to do is: checking the tutorial or checking the code of some red coders to gain a new idea about how they have solved the problem ! Sometimes it give a new technique about a particular problem!!

  • »
    »
    10 years ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    Great opinion, thanks for your message:)

    And talking about me... I really like ideas described by AlexSkidanov, when he was saying about his team's preparation for WF. They basically had no time for upsolving :) One can read his messages at CF, there are lot of useful stuff about motivation for trainings, team strategy, preparation for contests and so on. But it seems that most of those messages are in russian.

    When you are actually seriously preparing for ACM ICPC, and not just solving problems "for fun", "to train your brain", "to get higher place in Timus ranklist" etc. — you have almost no time for "thinking about problem" and even for upsolving itself. If you have 4-6 team trainings per week — it already takes a lot of time. Have you ever tried it? :) Just open editorial right after contest — that's all :)