I_love_Hoang_Yen's blog

By I_love_Hoang_Yen, 2 years ago, In English,

Yesterday I read ErdemKirez's blog and it reminded me of myself. I could not sleep for many hours last night thinking about all my failures in competitive programming and life. But now I think I survived, so I decided to write this..

Backstory

When I started my years at school (age 5-6), I was different from other kids: I do weird stuff like remembering phone numbers and math.. On top of that, I was the smallest kid in the class. So obviously I became target for bullies. I still remember how it sucked being bullied and how it sucked more when I heard teacher told my mom about my bully: "Look at that sweet little girl, how can she be a bully?"

When I was in 2nd grade (Vietnamese edu system has 12 grades), a magical thing happened: I got highest score in my class. Suddenly the bullying stopped. I realized that when you are #1 and became teacher's favorite, you would not be bullied anymore. So I decided that I would always be #1 in my class.. That happened for few years until they introduced us with History and Geography.

Then when I was in 8th grade, the school needed some good student to participate in the City Olympiad in Informatics. So we were taught how to code in Pascal. I was enlightened: "Wow I can make the computer run programs, and do stuff with input and output magical things like ASCII arts :-O". Thus I started coding all day and entered City Olympiad in Informatics and won some prize.

Highschool & National Olympiad

I managed to enter good high school. The entrance exams were Math and Vietnamese Literature but I made it! For competitive programming, we are probably the best high school in Vietnam, as we produced several IOI gold medalists like ll931110, skyvn97, natsukagami, etc.

I still coded all days in high school, but now I have friends from other National Olympiad teams to talk with about programming and algorithm. We had Yahoo at the time.

We had an OJ that had problems in Vietnamese: VOJ. As I coded all day I became #1 there in grade 11 and became quite famous: people started saying that I will go to IOI. Also I was in top 4 of National Olympiad, topped several online contests, so I was very confident.

Before I continue, I'll explain a bit more about how Vietnam select 4 students for IOI at my year (it was changed later): There are 2 rounds:

  • National Olympiad. Top 30 qualified to next round.
    • 1 day, 3 hours.
    • 3 problems.
    • No feedback.
    • Time limit is not given. You should guess whether your code is fast enough.
    • Score is equal to number of tests you get correct. Note that this is different from subtask in IOI. If you write greedy and it produced correct output for 99% tests, then you get 99% points.
  • IOI team selection. Top 4 qualified to IOI.
    • 2 days, 5 hours each.
    • 3 problems per day.
    • No feedback.
    • Of course Time limit is not given. You should guess whether your code is fast enough.
    • Score is equal to number of tests you get correct.

On the 1st day of the IOI team selection contest, I quickly read the 1st problem and found that it is a very simple Dijkstra problem. I started coding immediately (later the guy sat next to me wrote online "Crap, today I sat next to some crazy guy who started coding so fast and loud immediately after the contest start and I was so scared."). After I finished coding, of course it did not produce correct output for given sample. I draw the graph on paper and still had no idea how it can produce such output. Some guy in the contest hall asked the contest supervisor if the path can revisit the starting vertex and target vertex. The contest supervisor did not know. I was like WTF, but I realized that if I do that for the starting vertex then I can produce correct output. But I have no idea what to do with the target vertex. So it was like a 50% gamble. The other 2 problems were quite easy and had nothing special. After the contest I asked other contestants and it looks like amongst the 30 contestants I was the only guy who did not allow revisiting target vertex. F*ck.

So on 2nd day I was very scared and the 3 problems were much more difficult. I managed to solve 1st problem after 1 hour. I read both the other 2 problems, and found 3rd task impossible. So I spent all 4 hours coding 2nd task. It was very complicated task so I had bugs everywhere. After contest I asked other contestants and everyone solved 3rd tasks (after some reduction it became a simple problem with DFS tree) and no one solved 2nd task.

So of course I did not make it to IOI, but I still have 1 year left.

Grade 12

This year I failed even more.

It started with the National Olympiad. I finished the first 2 problems quickly and had lots of time for 3 problem. I thought long and hard about that digit DP problem and found that it was very strange. If you read Vietnamese, it is this problem. I could not solve it, and later found that there was 9 people who solved it correctly and had perfect score. I was already scared and then I realized that I had integer overflow on my 2nd problem.

Anyway, I was still lucky and was the 30th guy who entered the IOI team selection contest. (there were like 10 people with same score as me, so I was actually 20-30).

On the 1st day of the contest, there were 3 easy problems. The 2nd problem had number of operation around 109 and it ran in around 5s, so I spent lots of time optimizing it (note that we did not know time limit). Later I found that they set time limit for 2nd problem to 10s, so no one got TLE. But for 1st problem they set time limit to something like 0.5s and everyone got TLE except for 1 or 2 guys who used heap instead of segment tree: time complexity is the same but constant factor is a little bit smaller.

On the 2nd day of the contest, I thought that since everyone had almost same score on 1st day, so I must try to solve 1 more problem than the others. Then I thought I was lucky when I read 1st problem of 2nd day: it was similar to a problem on VOJ that only I solved before. (For Vietnamese readers, it is this one ). I knew that in this problem it was a DAG instead of a tree and the cost function is max instead of sum, but I thought that I should be able to modify my old algorithm to work for this problem. Then almost 3.5 hours passed and I could not produce any working algorithm. I was so scared and I read other 2 problems, 2nd problem looked impossible and 3rd problem looked like a straight-forward but complicated one, so I started implementing it. I finished it in time but did not have time to test it (and of course there is no feedback during contests). I believed I made lots of bugs.. After contests I found that no one solved problems 1 and 2. Everyone solved 3rd problem, some wrote solutions for small cases of 2nd problem. No one touched 1st problem.

So of course I did not go to IOI, and it was all my fault. Programming was the only thing I was good at, the only thing that made me happy and I failed.

University in ACM

I entered NTU Singapore for university. ktuan also study here. ktuan is the Vietnamese legendary competitive programmer: the only Vietnamese red target (while others have rating like <= 2500, he was > 3000), the only Vietnamese that went to GCJ Finals couple of time, and he also won #2 at FBHC Finals.

Anyway, couple of months before I entered university, ktuan asked me if I wanted to join his ACM ICPC team. He was very serious about getting ICPC medals so he wanted to start training immediately. I just failed IOI team selection so I wanted a break so I said no. Of course it is my most stupid "No" and I still regretted nowadays.

ktuan's team only got #17.

The following year I went to ICPC WF with my best friend ConanKudo, despite me making a bug in the regional when declaring array: I thought 20 * 30 = 60, so my arrays was obviously too small. In WF I was so scared of making stupid bugs and wrong algorithms again. Of course in ACM ICPC WF I made lots of stupid bugs, including: misunderstood the problem statement, integer overflow, implemented O(2N * N2) instead of O(2N * N) and got TLE, made wrong optimizations and got more WA. All of that for the easiest problem in the contest. You can see how many WAs I made for problem C here: WF 2012 scoreboard. Look at the top 20 and you can immediately see the guy who had +7. My teammates also performed badly and we only managed to solve 3 easy problems (B, C, D) after 3 hours of the contest. I felt so desperate almost cried. We went to WF hoping for medal and this is what I did.

Magically ConanKudo was able to calm me down and some magic happened so we were able to solve 3 more problems in the next 1.5 hours. "OMG maybe if we solve 1 more problem we can even get medal". But of course we did not have enough time for the implementation problem I and we only have some idea for problem A. We decided to code A anyway, filling what we could not solve with some stupid randomization and local search. Of course we did not solve it.

Again I felt so miserable. So far I failed on everything: not getting into IOI, failed in ICPC WF.

Then couple of months later my 1st girlfriend broke up with me.

I could not stand it. For several months I felt like hell. I tried not letting my emotion affect my life but some time even I realized that I was acting like a crazy psycho. That year I went to ACM regional with another friend technolt. Of course I failed regional again. And with my crazy behavior I wrecked my friendship with technolt and several other people too. I felt like I had no friend again. For a long time I woke up at 1pm or 2pm, went like a zombie to have lunch, went back home, do mostly nothing, had dinner, went back, do mostly nothing until like 4am.

In last week of November 2012, I felt that I was at the lowest point of my life. I felt so depressed. But there was no way my life could get any worse, so I thought that probably it can start getting better now.

I started dating Hoang Yen in early 2013 and it was a turning point in my life. But every time I logged in to CF it reminded me of all my failures, so some time in mid 2013 I decided that I hated my original account R_R_ so much that I created this account. (I know it was very wrong to have 2 accounts, and still use it sometimes, so I always feel very bad about it.).

Last ACM

At some time during those sh*t happened, flashmt told me that a team that could not win regional should not hope for medal in ICPC WF. Probably it was true and my team in 2012 was quite weak that we were last team to qualify to WF in the regional. So I decided that I will participate in ICPC WF one last time with flashmt.

I got myself back to training, but there was a serious issue: flashmt and I were in different university. So I decided that I will study part time in NUS (National University of Singapore) to participate 1 last time with flashmt. We got another IMO medalist to join our team and went to WF.

I trained for 2 years with flashmt with the help of the current best Vietnamese competitive programmer RR_PPAP. It made me felt in love with contests again. Of course we did not win an ACM ICPC WF Medal but I felt that it was OK. Those 2 years training taught me lots of things, including dealing with failures. I realized that our trainings were more fun and more meaningful than the medal itself.

These days I have not been participating in contests — I'll get married end of this year so I feel like busy all the time. But I lost my red rating in last contest and I know that I will be back to get it back. Contests is a part of my life that I can't live without.

 
 
 
 
  • Vote: I like it
  • +353
  • Vote: I do not like it

»
2 years ago, # |
Rev. 3   Vote: I like it +164 Vote: I do not like it

I'm not going to write this as a reply to I_love_Hoang_Yen's post, but as a bonus for his post, in my words. I will call him RR (his nickname, he uses it everywhere, apparently except for Codeforces...).

From his stories we (the younger school team members) have spent many nights listening to on Discord (yeah we have a Discord server), I think he forgot to tell the story of RR_PPAP who is also a very close friend of his. I bet you can tell that by seeing their usernames. But more importantly, RR_PPAP (yes, in RR's words) is the one who woke RR up from his failures at IOI team selection and the first ACM WF, when they first met. RR_PPAP, who also is a strange Math guy who just came to Competitive Programming to solve very hard problems for fun, also changed RR's way of thinking about practicing to be better at CP. Before, RR (and probably every student of Vietnam CP forums at the time) would just aim to solve all the problems on the local VOJ. Of course, when interesting and hard problems run out, to be on top you do easier and tedious problems. This was the mistake that everyone made, instead of looking for more good problems. RR always warn us about this — how he focused too much on coding and coding instead of solving real problems that require thinking.

Sadly when RR realized his mistake his time for IOI was over, and he's got only his last ACM-ICPC, and the story goes on. But as a senior, he kept us juniors from falling into his mistakes again. I think the IOI gold medals our country has won in (at least) the last two years, was partly because of his lessons burned into our minds. I see this as something very valuable, when you fail you should know why, and even if you don't have the chance to fix it, you are to keep the others from sliding down the same track.

But the story didn't end there. Contests is a part of my life that I can't live without. — well, it means more when you see more of what RR has done to even the Vietnamese community. He built the VNOI forums for Vietnamese CP enthusiasts — but forums aren't the thing now anymore, so it died out in just a few months. Not stopping there, he went on and organized the VNOI group on Facebook — which is more "fashionable"? — into a well-behaving knowledge sharing community. RR also built the VNOI Wiki — a site that provides community translation and writing of Competitive Programming algorithms, data structures, and also contest strategies to our local language. For someone who doesn't learn English much (which is essentially most of the Vietnamese students), this is the most wonderful source of information to start on their CP career. For the past few years, I think my country's CP community has completely changed — not a group of VOJ competing students anymore, but a large village of people shares and teaches each other — like a family.

How to not perform well on life and survive? I would say How to not perform well on life and live on like a BADASS. RR always tells me he wanted to change the world, but yeah, I think he did a pretty job.

»
2 years ago, # |
  Vote: I like it +33 Vote: I do not like it

Btw, writing these types of blogs (how to not perform on...) is becoming Asian stereotype, anyone noticed this? :)

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +269 Vote: I do not like it

    Just wait for tourist's post "How I finished second once and survived"

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    Okay, I'd follow the ritual by writing "How to not be good at English".

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it +3 Vote: I do not like it

      Is there any mystery of "how to not be good at English"? Isn't it simple to not be good at English? :)

      Looking forward to your blog)

»
2 years ago, # |
  Vote: I like it +2 Vote: I do not like it

Then couple of months later my 1st girlfriend broke up with me.

and I broke up with my girlfriend just to become a yellow or red. :(

I wish I knew this 2 months back.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    "Then couple of months later my 1st girlfriend broke up with me." Ok so I didn't have time to read the post but I decided to scroll down to see the reactions of those who did and it seems I got to read a spoiler:))seems like a good story

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

At least, you are one on of the most strong competitive programmers in the world. I do not think that your performance is bad, it is extremely successful from my point of view)

»
2 years ago, # |
  Vote: I like it +95 Vote: I do not like it

I'll get married end of this year

Congratulations!

  • »
    »
    2 years ago, # ^ |
    Rev. 2   Vote: I like it +64 Vote: I do not like it

    It's the strangest wedding announcement I've ever seen.

»
2 years ago, # |
  Vote: I like it +139 Vote: I do not like it

I got highest score in my class. Suddenly the bullying stopped. I realized that when you are #1 and became teacher's favorite, you would not be bullied anymore.

In my country, you would be bullied even more after this...

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Finland? Why?

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it +3 Vote: I do not like it

      Well, it's not regarded as cool to study and succeed in school. I didn't know the situation would be different in other countries.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    well... truth :<

»
2 years ago, # |
Rev. 2   Vote: I like it +21 Vote: I do not like it

Wishing u a very happy married life in advance !! is she Hoang Yen ??

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    *she

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +17 Vote: I do not like it

    I am pretty sure that he is not gay and believe his future wife's name is Hoang Yen

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      i seen his quora profile and thought so, lol. but github profile clerifies it.

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

nice to see some red peoples call them selves failures while i am still green