Apr 122010
 

I was first introduced to ACM-ICPC by Mr. Ali, my lecturer in data structure course. He didn’t give any lecture about ACM-ICPC, but he gave me UVA Online Judge website address. I find the site very interesting, though I could hardly solve any problem. At that time, I could only solve about 10 (very easy) problems in a month. In the same year, I participated in BNPC-CS 2003 (Bina Nusantara Programming Contest for College Student). I managed to pass the qualification round (multiple choice problems) but failed at semifinal round (programming). I found that the problems in this contest were taken from UVA Online Judge. This really encouraged me to solve more problems in UVA so I could get a better rank next year! By 2004, I had solved around 100 problems. Unfortunately, however, the problems in BNPC-CS 2004 were not taken from UVA Online Judge. Despite this, I managed to solve one problem in semifinal round! There were 41 people selected for the final round, and I was the 42nd :-(. In 2005, once again I participated in BNPC-CS, but this time I have no goal because it was my last year in university. Surprisingly, I ranked 10th in the contest!! I got a bronze medal and was invited to ACM-ICPC training.

At that time, ACM-ICPC training was only intended for BNPC-CS winners. Our coach was Peter Wijaya, an ex-contestant. Actually, he never taught us anything, he chose some problems from UVA and let us solve them by ourselves. This training was the first time when I learned about algorithm, and I find it very interesting. I never knew how to code BFS before or what dynamic programming is. At that time, I coded a lot! I used Felix Halim’s tools to find easy problems on UVA. He had also created a ranklist page for Indonesian coder in UVA, which made me more enthusiastic to solve more and more problems, so I can get a better rank than others. Around October 2005, I was selected to participate in ACM-ICPC Manila site, together with Ang Ing Ing and Evan Leonardi. At that time, I had solved more than 300 problems in UVA.

Manila 2005 was my first experience in ACM-ICPC. My team only managed to get 14th rank, worse than Felix’s team, 10th rank. As I recall, the problems was not too hard, and I think I can solve all of them by now (though some problems have unclear statements).

In 2006, Yen Lina asked me to become a new coach, and I agreed. I never had a proper training before, so I just follow Peter Wijaya’s style of coaching: select some problems and solve them. But this time, I also tried to solve the problems I’ve selected and helped those who can’t solve them. I used to say: “Any problem that I can solve, you have to be able to solve it. Any problem that I can’t solve, you might better try to solve it” :)). Though I were a coach, I think I learn a lot at that time. I began to read Introduction to Algorithm and many other books, and I also joined TopCoder. I learned about network flow algorithm, number theories, and many graph theories. I used to spend my weekend to code or compete in online contests.

After I had solved a lot of problems, I began to refine my coding skills. I used to code just to get an accepted answer, but later I began to analyze my code, proof, and rewrite an eficient code. My experience in TopCoder has also helped me improve my speed and accuracy a lot (“one hit AC”).

Well, that’s a bit about my problem solving background.

  7 Responses to “How I Knew About ACM-ICPC”

  1. wow…great experience…thx 4 share.. πŸ™‚

  2. nice article, suhu.. ;-D

    it’s very inspirative one for me while i’m in struggling of hard preparation of programming now..

    wanna proof myself in programming contest..

    waiting for your best experience to share in programming..

    thanks.

  3. ooh gitu toh sejarahnya pak.. πŸ˜€

  4. Like this! πŸ™‚

  5. wew, abis baca ini g br nyadar kl u ga sempet jd ditraining pak thompson yach πŸ˜€

  6. @Crystal: ho oh.. bahkan ngomong ama dia aja kayaknya belum pernah πŸ™

  7. I see, I see.

    A long story. But Cool!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)