In this post we get to hear from dreamoon, who won the TCO trip for the July period.
How did you get started on topcoder/How did you find topcoder?
My university contains a class of training students for competing in ICPC. The class give us the information about topcoder.
Where do you live?
I live in Taiwan. Here contains many strong competitors such as peter50216!
What do you enjoy doing in your free time?
Playing some minigames such as candycrush, watching anime, reading light novels…
What caused you to compete for the first time?
I originally competed in math contest mainly. When I was 17 years old, my friend who I know in math competition of junior high school invited me to compete in algorithm competition. So my life of competing in algorithms started.
The first contest I competed was a Taiwan contest named “National Problem Solving Contest on Internet” in 2006. This contest was hosted by National Taiwan University. In the contest, my team only solved 2 problems out of 8 problems and get 15 place (The team who got first place solved all 8 problems!). Though we don’t get good result, I still found the contest is exciting! We had a real time score board during contest. It’s a feature that math contests don’t have, and I really liked it. Afterward I practice more in order to enjoy algorithm contest more.
When did you start writing problems for SRMs?
The email about the Writer’s Incentive Program let me notice how to submit problems to SRM. So I write SRM problem starting from this summer.
What is a problem you wrote that you are particularly proud of, and why?
I very much like SRM628 Div I Hard problem DoraemonPuzzleGame. The idea occurred to me when I play candy crush. I want to collect as many stars as possible. When I am thinking how to do it the idea of this problem occur to me.
What is the most difficult thing when you write problems for SRM?
I have two difficult things in writing SRMs. The first is writing the Div. 1 Hard problems. It’s difficult for me to recognize a problem is normal or hard for most people. And SRM only contain 75 minutes. It’s not proper to write a problem which is too complicated.
Secondly, I feel it’s difficult to determine the Div. 2 problems. The hardness of Div. 2 is also hard for me to recognize. In the two SRMs I wrote problems for, it seem the problems are either too easy or too hard.
How do you create a problem?
Here are some methods I used:
1. Playing minigame. When playing a game, It usually need different strategy to play well. It’s a good idea to make optimizing the strategy into a problem. Also, you can see many quite strange rule in many minigames. You also can according these rules or change rules a little to create a nice problem.
I mentioned DoraemonPuzzleGame above, which is an example of a problem devised in this way.
2. Misunderstanding other problems. Sometimes, I would think a problem is very hard. But in fact, it’s quite easy. It just because I misunderstood the statements =_=. It usually can become a idea for writing problems. In other words, we can just edit the range of constraint or some rules from old problem to become another problems.
3. Take the algorithm part from other problems and give it a new statement. Sometimes, we just give a algorithm different problem statements. It will look like quite different! Especially when you apply an algorithm to a real life example.
4. Think from a real life problem. Firstly, we create a problem which look like very hard. Then we can make easier step by step. When you can think a method to solve the easier version, it becomes a new problem!
What is your biggest topcoder win?
I think my biggest topcoder win is TCO2014 Round2C.
What is your next topcoder goal you are hoping to achieve?
I hope I can become a target before the end of this year!
What is your favorite topcoder memory?
This year, after competing for 3 years, for first time I was able to solve 3 problems in SRM Division 1. It let me feel I conquer a big difficulty.
Thank you dreamoon for sharing your experiences!