Earlier quoted context omitted.
There's very little usage of either Emacs or vim at these competitions (they seem to prefer a simple text editor). Also, they code fast , literally at the limit of how fast they can type! Maybe it's a consequence of the language choice (typically C++)...
Maybe it's a consequence of the language choice (typically C++)... Because it allows them to type as fast as they can, or because it forces them to do so?
Teen Mathletes Do Battle at Algorithm Olympics
21–30 of 35 posts
Re: Teen Mathletes Do Battle at Algorithm Olympics
#22http://en.wikipedia.org/wiki/Math_55
" ... covers four years of math in two semesters."
Otherwise, that "will he die a virgin ?" quip was really uncalled for.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#23I knew I recognized him from somewhere! ACM Regionals in New York took place a couple weeks ago. MIT managed to solve 7/8 problems, Harvard solved 3.
No one on our team has been doing competitive programming for nearly as long as some of these guys have. It took me only about a year of (very casual) practice to get to this point. So it doesn't necessarily mean you need to spend every waking moment on TopCoder.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#24It'd be interesting to observe their workflow, from editor choice to debugging methodology. Sure, choosing and developing a sensible algorithm is the "meaty" part. I, for one, am fairly impressed by the stuff these kids do. But I'd be surprised if they didn't have some serious Vim-Fu going on as well.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#25How to become matheletes like them ? Any guides ? Books? Where to get started ? You suggest to learn python by it clearly says C,C++ and Pascal. Should I learn C++ as first language ? Help ?
Good books on these are:
* Programming Challenges by Skiena and Revilla
* Algorithm Design Manual by Skiena
* Introduction to Algorithms by Cormen
The biggest trouble of these competitions is being able to recognize what you're trying to solve. If you can say 'THIS IS DYNAMIC PROGRAMMING', you'll be a lot closer than someone who writes a backtracking solution and times out. From there, knowing what kind of problem (or combination of them) within the domain will help you design the proper algorithm.
Number theory, graph theory, geometry and combinatorics based problems appear often. There is sometimes some necessary knowledge required to be able to solve problems altogether. For example, if the problem makes reference to Catalan numbers and you don't know what they are - you won't be getting very far.
The UVa website (http://uva.onlinejudge.org/) offers a pretty horrible experience but an unforgiving judge which will help you practice a lot. It also has a judge for every book in the above text, Programming Challenges. There are also judges for live contests which you can participate in.
The Algorithmist (www.algorithmist.com) gives you some good test data and hints along the way if you get stuck on any of the UVa problems.
Project Euler is fun but it is slightly more algebraic and you do not (often) run into these kind of problems in these sort of competitions. It's still a good idea to try them out though.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#26One neat thing: at Harvard, Neal takes Math 55, a course so famous it has its own Wikipedia page. http://en.wikipedia.org/wiki/Math_55 " ... covers four years of math in two semesters." Otherwise, that "will he die a virgin ?" quip was really uncalled for.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#27How to become matheletes like them ? Any guides ? Books? Where to get started ? You suggest to learn python by it clearly says C,C++ and Pascal. Should I learn C++ as first language ? Help ?
http://train.usaco.org/usacogate It walks you through the algorithms, though you need one of the languages. There's some terse list at http://www.algorithmist.com/ that might help. (Disclosure: I started Algorithmist)
Re: Teen Mathletes Do Battle at Algorithm Olympics
#28How to become matheletes like them ? Any guides ? Books? Where to get started ? You suggest to learn python by it clearly says C,C++ and Pascal. Should I learn C++ as first language ? Help ?
Re: Teen Mathletes Do Battle at Algorithm Olympics
#29One neat thing: at Harvard, Neal takes Math 55, a course so famous it has its own Wikipedia page. http://en.wikipedia.org/wiki/Math_55 " ... covers four years of math in two semesters." Otherwise, that "will he die a virgin ?" quip was really uncalled for.
Re: Teen Mathletes Do Battle at Algorithm Olympics
#30Earlier quoted context omitted.
http://train.usaco.org/usacogate It walks you through the algorithms, though you need one of the languages. There's some terse list at http://www.algorithmist.com/ that might help. (Disclosure: I started Algorithmist)
I would just like to say thanks! Without the Algorithmist, I would have pulled my hair out more than once.
That said, UVa's problems are better defined nowadays. Tough problems are actually tough, instead of trying to trick people!