Today we meet another member of Team “11coders” from Indian Institute of Technology – Roorkee, say hello to Kshitij Bathla. Let’s hear it from him. But before that, let us give you a brief info of his team.
- Team name: 11coders
- Team rank: 2nd in Chennai Regional
Q. How old were you when you started programming and what got you started in programming?
A. I started programming in my first year of college. We have a programming club (Programming and Algorithms Group) in our college, I got selected and that is how it all started.
Q. What inspired you to get into competitive programming? Were you passionate about it since school or anything special in college?
A. I always liked math, solving puzzles and found competitive programming similar. I used to solve SPOJ problems (puzzles mostly) in my first year. I wasn’t aware about it during my school days.
Q. How to start preparing for ACM ICPC for those who are new to algorithms and competitive programming? It would be great if you could share your journey from a beginner to a World Finalist today.
A. I would recommend Topcoder tutorials as a starting point. You can start with some basic topics like Dynamic programming; greedy algorithms etc and solve the problems given in the tutorial. Make sure you code everything. Finding the solution and actually coding it and getting it accepted are two completely different things. Try to give lots of contests on Codeforces, CodeChef and Topcoder. Try out the problems that you could not solve during the contest. If you are not able to solve them, read the editorials and code them on your own. If you see a new algorithm/technique, try to learn it from online resources. Learn the logic and try to code it. Once you’re more used to solving contest problems, start forming a team. Pick your team early and do a few virtual contests with them. You can try out regionals from previous years from your region.For team practices, you can also try out the contests on Gym (Codeforces).
My Journey: We formed the team in our first year. We got selected for the 2013 Amritapuri regional(onsite) in our second year . We performed decently and secured a rank of 32 there. The 2014 Amritapuri regionals was a disappointment as we performed very badly in the onsite event. We came 8th in the Gwalior onsite that year. 2015 Amritapuri was again not great because of the technical glitches but we finally made it in the Chennai regional(our last attempt at the World Finals).
Q. Can you throw some light on how did you and your team manage the time and coordinate during the onsite finals? It would be great if you could share some tips for the next year ICPC aspirants.
A. In the last one month before the regionals, we used to give a gym contest every alternate day on one machine (similar to what it would be in regionals). This is important for finding out which way your team performs best. In our case, we had an idea about the strengths of each individual and hence we labelled the problems by their topics after reading them e.g Strings, graphs etc. One more important thing is proper utilization of machine time. Because only 1 PC is available, you need to use it wisely.You should think about the code structure in your own mind before starting to write it on the machine, this will save a lot of time as compared to thinking about the solution while writing the code.
Q. What did you do to improve over these years and maintain your target status for all these years with all the competition? What do you think was your most effective method to improve? Any hacks on how to reach where you are in less time ;)?
A. Participating in lots of contests is extremely important.This helps in improving accuracy as well as speed. Topcoder contests are recommended for improving accuracy. I used to take part in codeforces gym contests as well as normal rounds(Div 1,2) and that is what helped me improve. Practicing a lot is the only way through which you can qualify for world finals in my opinion. What matters is the number of hours you put in practicing.
Q. Do you have any other thoughts as we wrap up?
A. ACM-ICPC is not an individual activity. If you practice along with your team mates, it gives you different approaches for the same problem and keeps motivating you towards your goal. Learning new topics is also easier this way. Do lots of practice and enjoy coding.
We hope you enjoyed the interview. We have few more in the pipeline and will be publishing them soon. Till then, share this interview among your friends, and family and send in your wishes and questions for them. #GoForGold.