Hi, This is my own personal opinion: books, classes, even solving past problems, will all show you a bunch of useful techniques, algorithms, theorems, coding tips. The problem solving is the art part. Your brain catches some patterns from having solved many problems before, or thinking about similar situations. It's the same as how you learned how to multiply. You definitely never trained in all possible 3 digit by 3 digit multiplications: you did a few of those, and your awesome brain generalized to the rest. Plus, you learned some general rules that guide you when you are doing a new one. And then, you learned somehow similar rules for adding, and then doing gcd, and etc, and your brain gets really good at understanding following simple rules.
Bottom line: If you do a LOT of problems, have a deep understanding of the algorithms, theorems and techniques, your brain will pick up the usage patterns when you see the next problem that needs them. More to your point: if you are failing to solve problems because you didn't know or were not familiarized with the algorithm or technique that was used, then, go to books or classes or tutorials about it. If you know the techniques but are not able to solve the problems and then it seems obvious when reading the analysis, then you probably don't have AS much training with the algorithm technique as you think. I would just get 10, 20 or even 50 problems that use it and solve them. After you are sick of using and debugging your code for max flow, you will definitely want to use it and will get it next time it appears on a contest. Best, Pablo On Tue, May 2, 2017 at 7:38 AM, Luciano Quercia <[email protected]> wrote: > Yes, I know that constantly training is very helpful, but AFAYK, are there > some books or articles or exercises that teach you how to think? > > To be clear, I'm not talking about typing fast or coding fast. I'm > referring to the art of thinking and producing the algorithm starting from > the problem. > Something that teach you where to point your attention, to focus on edge > cases, or to reverse a problem from another point of view... things like > these. > > Do you know, e.g., if best codejammers of previous years have read TAOCP? > Or other typical suggested books? > > -- > You received this message because you are subscribed to the Google Groups > "Google Code Jam" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/google-code/3a54b40b-fdfe-4a90-a302-c5770c2f6e94%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Google Code Jam" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-code/CANa5jcAa6mrkdAMdwcEWrTrSEDkMv0rheSeRHEJp37MS_eaUPg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
