3 ms·
I'm solving olympiad programming problems almost everyday since October 2015 (mainly on CodeForces, also occasionally on HackerRank, Project Euler, TopCoder, Ac
by hal9000xp 10y ago
I'm solving olympiad programming problems almost everyday since October 2015 (mainly on CodeForces, also occasionally on HackerRank, Project Euler, TopCoder, Acm Timus, Uva etc). In total, I spend 15-20 hours per week on solving these problems.
Solving these problems is really hard and energy consuming process.
So every week, for more than a year, I'm experiencing getting stuck and being really frustrated, having insights on morning shower etc.
I read this article and I don't find it practically useful except may be it's a nice reading about dopamine or other stuff like that.
I've noticed that to have an insight in morning shower you have to think really hard (and probably being frustrated of getting stuck) a day before. You have to be involved in the problem. Only then, your brain start thinking about it in the background. If you are not involved in the problem, you won't have insight in morning shower. I even suspect that being frustrated day before could be one of key factors why your brain prioritize task of solving a problem in the background.
Unfortunately, I don't see that this article mention that.
I think in general your brain could have two modes of solving problem - deterministic thinking, random-walk thinking.
When you are actively solving problem, your brain works in deterministic mode.
When you have insight on morning shower, your brain works in random-walk mode.
So probably, to get unstuck, you have to switch from deterministic mode to random-walk mode. In random-walk mode, you can randomly jump from one branch (dead-end branch) in decision tree to another branch which could be correct one.
Solving olympiad problems is NP-complete (or NP-hard, I don't know). It means that there is no way to solve them deterministically in reasonable amount of time. Probably, our brains evolved in such a way that it uses heuristics with random elements to tackle NP-complete problems in real life.
- sgt101 10y agoCan you describe an np complete problem that you have solved?
- hal9000xp 10y agoI said solving olympiad problems is NP-complete task. Not problems themselves. See the difference? Let's say there is a relatively simple olympiad puzzle. Also, let's say there is a imaginary robot which should solve this olympiad puzzle. What I said there is no fast universal algorithm for the robot which allows to solve any such olympiad puzzle. The only thing robot can do to solve many (but not all) problems is heuristics with random elements.
- sgt101 10y agoI don't think your argument holds water. The Robot has to check n p-complex approaches to m problems. This has complexity n.m.p'max I think that's in p. All the problems that are known to be p are in n and m.
- throwaway_374 10y ago"It means that there is no way to solve them deterministically in reasonable amount of time." On the contrary, the systematic method to hack these seems to be pattern matching and shoehorning into similar problems rather than reasoning from first principles. I'm going through a similar battle, mainly because programming interviews have annoyingly become competitive challenges lately and before adopting a strategy it was an extremely soulsucking process.