Live data from Hacker News

Teen Mathletes Do Battle at Algorithm Olympics

wired.com

21–30 of 35 posts

Re: Teen Mathletes Do Battle at Algorithm Olympics

#21
post #20

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?

Too much to type in C++ as compared to language like Python

Re: Teen Mathletes Do Battle at Algorithm Olympics

#23
"For kicks, he took the tryout test for Harvard’s team. He came in first place."

I 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

#24
post #14

It'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.

Your text editor options are usually vim, emacs and pine (or nano) depending on where you are competing. No one uses IDEs, even if they are prohibited.

Re: Teen Mathletes Do Battle at Algorithm Olympics

#25

How 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 ?

North American competitions usually allow C/C++/Java and sometimes Pascal.

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

#26
post #22

One 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.

That quip is pretty much why I don't subscribe to wired anymore. Showing contempt for the audience is not a good thing.

Re: Teen Mathletes Do Battle at Algorithm Olympics

#27
post #17

How 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)

I would just like to say thanks! Without the Algorithmist, I would have pulled my hair out more than once.

Re: Teen Mathletes Do Battle at Algorithm Olympics

#28

How 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 ?

I highly recommend solving problems on spoj.pl (http://www.spoj.pl/). It has a HUGE collection of problems from various competitions, supports a plethora of languages for coding and the forums are an excellent resource.

Re: Teen Mathletes Do Battle at Algorithm Olympics

#29
post #22

One 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.

That quip was about Korotkevich not Neal. And besides, it was Kolstad who said it.

Re: Teen Mathletes Do Battle at Algorithm Olympics

#30
post #17

Earlier 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.

Thank the contributors, I only maintain the site! ;) Of course you can thank the site by paying it forward!

That said, UVa's problems are better defined nowadays. Tough problems are actually tough, instead of trying to trick people!

Post reply on HN