March 1, 2018 On Turning Red: In Conversation With square1001
Turning red on Topcoder is a dream of many. Recently one of our most active member square1001 who is just 15 years old turned red. We did not miss this chance to celebrate his success. So, here’s the interview with this ‘whizkid’ and his journey towards becoming red.
hmehta: How and when did you hear about Topcoder?
square1001: I started competitive programming when I was 13 years old. Two years ago, in October 2015. I knew about competitive programming because there were some strong competitive programmers who are 3-4 years older than me in my school (with Topcoder handles, yutaka1999, IH19980412, and yokozuna57). I liked mathematics and competitive programming so they recommended Topcoder to me. Initially, I solved local online judge problems, and soon I found that competitive programming is interesting. I knew Topcoder because a famous competitive programming guide (from Japan) mentioned Topcoder as one of the best competitive programming sites. I was interested in short-duration contests, so I registered.
hmehta: How did it all begin? How was your first SRM experience? Were you already competing on some other platform before you started competing on Topcoder?
square1001: In November 2015, I bought my laptop computer. Since then, I was able to compete in programming contests. In November I took part in some online programming contest on a Japanese contest platform. My first Topcoder SRM was on December 10, 2015 – SRM 675. I still remember this time vividly. I was lucky to solve Div2 Easy and Div2 Medium rapidly and succeeded in this contest (note that it was only very lucky) and got 529.92 pts and ranked 26th. My rating increased to 1552 (yellow!). But when I thought of Division 1 Easy problem (TreeAndPathLength3) about an hour I didn’t come up with a solution so my appropriate rating was not 1552 then. And expectedly, in next three SRMs I participated (SRM 676, 677, 679), I submitted Div1 Easy problem but always challenged or failed in system test, and fell into Division 2. This was the beginning of my Topcoder SRM competitions.
hmehta: Which is your favourite programming language?
square1001: My favourite one is C++ because the calculation is pretty fast. When I started programming I thought that programming is kind of calculator, when I started programming in May 2015, and I thought it is interesting that program calculates the approximate value of pi, square root of 2, etcetera, so I thought that quicker is better.
hmehta: If you are given 3 Problems about Dynamic Programming, Graph Theory and Geometry which one will you attempt first and why?
square1001: I will first attempt Dynamic Programming. First, I like combinatorics problems in competitive programming. There are many combinatorics problems in dynamic programming, so I like to solve them. Of course, there are other kinds of dynamic programming problems, but generally, I’m not bad at them. The second problem will be Geometry unless it is about n-dimensional (n≥3) geometry. I think 2D geometry is visually interesting, and I also like line-sweep algorithms, so I like them. Generally, Topcoder geometry problems are weighted to logic-part rather than implementation part, so if I come up with a solution I feel like it’s wonderful. (Note that I am not good at geometry problems in math contests.) The last will be Graph Theory – because I don’t know many algorithms about Graph Theory. Of course, I know about Depth First Search, Breadth First Search, Topological Sorting, etcetera, but I recently (about a month ago!) understood Maximum Flow algorithms and Strongly Connected Components. The last one will be segmented tree one. Actually, I’m not good at segment trees and also these problems will be inevitably shifted to implementation rather than logic-part.
hmehta: Your Topcoder Profile quote reads – “I love Topcoder”. What do you love about Topcoder?
square1001: Yeah, I like Topcoder problems. I think Topcoder is the best competitive programming platform on the earth. Because I like thinking the solution to problems. I love the feeling that I found an elegant solution to difficult problems. Currently, there are other famous competitive programming sites like Codeforces, but I prefer Topcoder because these problems are more about implementation. Also, recently I’ve been interested in Marathon Matches and I feel like I want to participate in it soon.
hmehta: Why did you choose your handle to be square1001?
square1001: “Square” is the random value and “1001” is related to my birth year 2002, which is divided by 2 because it’s binary.
hmehta: What are your hobbies besides programming?
square1001: Besides programming, I like music, both playing and listening. I’m currently in a brass band and I can play the horn. Also, I listen to many kinds of music (especially brass one and piano ones) during programming contests.
hmehta: How does it feel to be red on Topcoder?
square1001: It’s very happy and fantastic thing, I think. At first, in late 2015, when I began competitive programming, I thought that it is very hard to reach red. When I first saw the rating distribution in Topcoder SRM – only a few lucky people are red coders, I realized. Although in my first contest I became yellow, I was green in 4th, 5th, and 6th contest. I practised hard a year but when I got back to yellow it was already 2017 (1 year and a day after dropped into green, 1 year and 4 days before becoming red)! I felt like it’s very distant from a red coder. But I practised in fast-solving of Div1 Easy problems, practised solving Div1 Medium problems. So I firstly solved DivI Medium problem in SRM 718! And I continued practising and become red on January 25th, 2018. I think I won’t ever forget this date.
Becoming red is not a goal point for me. There are many goals. One goal is passing the selection in Japanese Olympiad in Informatics (JOI) and get a medal in International Olympiad in Informatics (IOI). Another goal is becoming red on Atcoder (another contest platform). And becoming half-target (rating 2600) is also one of my goal (I think if I reach rating 2600 I may say the next goal, but I know it’s very difficult to achieve.)
Anyway, this was one of the best (was definitely rank in top 30) moment in my life!