A request to all of you to answer the following questions.

Revision en1, by IngaleAnkur10, 2020-05-16 23:24:04

I request you all to answer the following questions based on only your experience and nothing else.

  1. During a contest, when you get a solution to a problem, do you actually prove the solution to be true or just use some test cases and check if the solution works correctly? I feel the latter answer is obvious but I would still like to take a poll. The reason for asking this question is because sometimes, I am just not confident enough on my intuition and feel like I am missing some test case which can prove it wrong. Also, I am not that good when things come to prove something though I understand the proofs done in the editorials. Lastly, when I submit it (my intuitive solution) and I receive a WA, it demoralizes me to such an extent that I feel I should quit the contest immediately.

  2. In a greedy vs dp scenario, how do you judge if the problem can be solved greedily or not? I am new to dynamic programming (though I am practicing it for the past few months) and often get confused when encountering such scenarios. The reason for this confusion is mainly because of not being able to find a test case that fails the greedy solution. I also understand that constraints are important in analyzing the type of problem and the first thing I do is analyze the time complexity of the dp solution. Then I think of a greedy solution. But most of the time, I fail to optimize my dp solution or believe it to be a greedy problem and receive a TLE or WA respectively. Hence, I need your help here.

  3. How do you all stay motivated, especially in a scenario where your past 5-10 contests have gone bad? I am currently going through it. I have no aim whatsoever regarding my rating but my only aim is to be able to solve 4-5 problems (Div2A — D) in a contest as fast as I can and increase this count with time. But for the past few contests, I was either able to solve 4 problems but I was comparatively late (compared to my peers) or I solved fewer problems that too after a series of WAs and TLEs. What do you do in such conditions?

  4. Do you keep an eye on standings? I understand looking at the dashboard at regular intervals, as there can be a problem with increasing submissions ahead of what I am trying to solve (like contest #643 where D was easier than C). But do you look at the standings? My general protocol is to look at the standings after I solve 3 problems. This usually tells me how fast I should be to solve the fourth problem (again, compared to my peers).

  5. Do you read all problem statements before attempting one? If yes, how are you able to think of a solution/idea immediately to rate a problem easy or difficult? I have seen many people practicing this and I do not understand how they do it. For example, consider contest #643 again. There must be a few people who read D and attempted D before C. This led others to think that maybe D is easier than C and hence the chain. But how do I identify such things? If tomorrow the submissions are invisible, how should I check if the problem ahead of the current problem was easier than it should be at that hierarchy?

I request you all to answer as honestly as possible, even if it means throwing hard truth directly on my face. A very big thank you to all and to MikeMirzayanov for this platform.

Tags #confused, #contest

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English IngaleAnkur10 2020-05-16 23:26:10 0 (published)
en1 English IngaleAnkur10 2020-05-16 23:24:04 3373 Initial revision (saved to drafts)