of senior high school. To be clear, I’m not a hardcore competitive programmer. I do competitive programming as a hobby. Never “win” even once. My highest rank as a team is 4th place in a provincial or maybe national level? I’m not really sure. I’m known as “epicurean” on the competitive programming platform. As a team, we usually going as “AnakRantauMenderita”.
I also love challenge. The easiest way to acquire those two are by doing competitive programming. We got both programming and challenge at the same time.
competitive programming competition then you must be aware that there are a lot topics you need to know. Computational geometry, dynamic programming, greedy, number theory, game theory, sorting, graph theory, tree, and so on. Remember that the first step to solve a problem is to identify the problem first!
usage is to identify the worst case of an algorithm. It count the number of computations needed to finish the algorithm. It shows us the upper bound of an algorithm. My rule of thumb: 100,000,000 computations are done in one second. You don’t need to dive too deep on this one although it would be great.
giant tech company such as Google, Facebook, Twitter, etc. Their first step on recruiting someone is to review the applicant’s resume. You got an upper hand if you do a lot of coding competitions. Moreover if you have won at least once. Winning in the ICPC is a great choice. The second step is online coding challenge. You are more likely able to do this well if you have a solid skill in competitive programming.