% ./ioi2010 < Australia > Canada
Following the travels of the Australian IOI team to Waterloo, Canada.
Monday, August 23, 2010
Sleep deprivation
The AMT's website has a spiel, complete with some more photos, at http://www.amt.edu.au/ioi2010.html.
Saturday, August 21, 2010
Last days in Canada
The rest of the day was spent playing Bartog, Sticks and the Hat Game with other teams. All of this was fun, and I went to sleep very easily after a late night.
Unfortunately, the next day I was meant to wake up at 5:30 am to catch a bus to Niagara falls at 6:30. My alarm failed, and so I was awakened by knocking on my door again, after it was realised that Evgeny had stayed up the whole night.
After hurriedly bolting my breakfast, I rushed to the buses and just got on one, only to wait for 1 hour before the bus actually left the university. It took us 1.5 hours to get there, in which the rest of the team slept, but we all seemed to gain a bit of energy after first seeing the falls.
The falls themselves were quite spectacular. The sheer power of the water just floating off the edge of cliff was amazing, and we all took lots of photos. We then went under one of the sides of the falls, and looked up into it, which was again amazing. We then had lunch at an all-you-can-eat place, which served fish and chips, a nice reminder of home.
The next attraction we participated in was a boat ride in the lake under the falls. We got extremely close to the falls, such so that we got quite wet and only the ponchos which we had put on before hopping on saved us from being drenched. Again, there were spectacular views and lots of pictures were taken.
After going back to the buses, I played a variant of Masters and Slaves with the French, which was very fun as they spoke commonly in French. Once back on the bus, I was shown Black Magic and showed others Sticks, both which were quite annoying to work out for the parties who did not know the rules. The rest of the day was similar.
I slept in till 8:30, and quickly had breakfast before meeting up with the Irish team and going to the shopping centre. Here I bought a number of gifts, and also saw some of the Canadian culture. After rushing back and just making it in time for lunch, I met up with the Australian leaders, who told us the plan for the next couple of events. I then got changed into my blazer in preparation for the closing ceremony.
The closing ceremony was very entertaining. We began by having a very high quality dinner, and then going through the medals. I was awarded my bronze, and when the Belarus guy was awarded his first place, a standing ovation was displayed for a full minute. Afterward, we had photos with the teams we had gotten to know over the event, such as the Irish, French, Russian, USA, UK, New Zealand and more.
Arriving back to the university, we played some games and then I went to sleep.
Thursday, August 19, 2010
Some press coverage
http://www.southwesternontario.ctv.ca/news.php?id=7955
Competition Day 2
The contest this year was remarkably different to previous years - there was a much stronger focus on creative problem solving with ad-hoc techniques rather than drawing on tools and techniques commonly seen in the IOI. And whilst there was warning that this might be the case, the true extent of the changes took a vast majority of people by surprise, including Australia. Several teams who often perform very well also seem to have found it difficult to adapt.
The Australian team had a much better time coming to grips with the changes on day 2 of the competition, with all the students coming in the top 50% on day 2. The scores were all very very close. A brilliant effort had Luke in the day 2 rankings at 28th(!!!!) (out of 304) with 322/400 points and both Kenneth and Evgeny ranking equal 65th with 311/400 points. Combined with day 1 scores, the team's overall scores were:
- Evgeny: 594
- Kenneth: 501
- Luke: 566
- Robert: 514
The entire Australian team has put in an incredible effort and are taking the afternoon off to unwind with the other contestants. Tomorrow, we journey to Niagara Falls at the un-Australian hour of 6:45am... I suspect there will be lots of sleeping on the bus, but what a way to end the week!
Wednesday, August 18, 2010
After doing so, we went with our guide to the buses, and drove to the Wonderland. It took about 1.5 hours to get there, so a few of us caught up on sleep from last night. The rest of us looked over the landscape as we passed it, and when we arrived we woke up the others.
We preceded to group together and try and pass through security. I was stopped for holding a Vortex, which I hope Bernard got back (at this time we are in quarantine, so I can not check). After handing it over, Bernard, Kenneth, Robert, Chris and I got separated from the others and went to the Time Warp ride, which was basically a rollercoaster except you were 'Supermaning', or lying on your stomach with your hands out. To get to this ride, we waited for about 1 hour, and fortunately Bernard did not want to go on it, as it was only in groups of 4.
After exiting it and feeling very alive, we walked around for a while, noticing the incredibly long queues, as it was the school holidays and there were lots of children. We decided to head to laser tag, as we had vouchers for that place. After waiting there for a while, we started a game, which turned out to be quite fun.
It was then lunch, and we went to join up with the other informatics and find out what they did. The lunch itself was OK, being mass produced hamburgers, frankfurters and steak. After finding the rest of our group, we joined up with the Poms and Kiwis to go to another ride, a wooden rollercoaster, and then some of us to the water park and the rest to continue going on rides. We partly got distracted, and so broke off earlier than we planned, and so only me and Kenneth and two of the Poms went on the ride, where we met up with another guide.
After having enormous fun on the ride and wanting more, we went to another, in which we stood up while being taken around on a rollercoaster. This was again fun, and so we went to the ride where you are gradually spun around in a full 360 degrees. I sat out of this one, and saw the other fragment of our group come, who apparently had not had as much fun as they had expected at the water park, due to long queues. We then went on the wooden rollercoaster again, and after that we went back to the buses, where everyone was very tired and so went to sleep.
Back at the university, we had dinner then played Bartog, then finally went to bed, ready or not for tomorrow's exam.
Fun Day 1
Between this distraction and Bernard trying to orient himself on a map, we separated and not all of us made it to the Behemoth. Instead, Robert, Luke, Kenneth, Bernard and Chris queued up for the Time Warp - an aptly named ride where time is lost in queues, all for 40 seconds of joy. However, a bold "Aussie! Aussie! Aussie!" at the top of the ride made sure the Australian team did not go unnoticed.
After a sweaty game of laser tag and lunch with the Kiwis, the leaders separated from the team, not to see them again until after tomorrow's contest. All in all, a fun day and refreshing break from the happenings of the contest itself.
Competition Day 2 tomorrow...
Tuesday, August 17, 2010
Competition Day 1
Apart from that, today was quite fun. I spent a while playing Mao and the Hat game, all which was quite fun. We also spent some good time outside, which hopefully will help me sleep tonight.
I'm really tired right now, so I'm going to go to sleep.
Monday, August 16, 2010
Video streams from the back room
Day 1 live scoreboard
Apparently anyone can play at home too with nothing but your brains and a mouse. See here for more detail.
And here's an action shot from today's practice contest! (just don't look too closely...)
Day 1 - Opening ceremony
The opening ceremony itself was quite good. They began by having a Canadian Celtic band play, who were quite good. Then they replaced it with multiple people welcoming us to the IOI in different languages, and finally the main organiser, Troy, spoke for a while about the importance of this in our lives. Then a trick/comedy duo performed, which was slightly entertaining, but clearly pitched to a different audience. After this, we were entertained by cheerleaders, which again was quite awkward and we the audience did not appreciate maybe as much as others would have. Finally, a boy archipelago group sang several songs, which was easy to listen to.
After the ceremony, Robert was interviewed by Canada National Television, and showed his true bogan side to them. We also got Peter Taylor, the head of AMT, to have an intimate time with the cheerleaders, as can be seen in some of the photos. After this, we headed back to the university, for lunch and the practise session.
For lunch, the queue was incredibly long, meaning we were almost late to the practise session. In the session, we played tetris and minesweeper, printed off documents with the text "Please hand to the hottest guy in the room". The problems presented we had all seen before, meaning me and Evgeny got off to a perfect start to the IOI, hopefully a good sign for tomorrow.
After the problem session, we went and had some dinner as we were all incredibly tired, and so afterwards played a bit of Bartog before meeting with Bernard to discuss the final changes before the leaders went into quarantine. During this the Internet was shut down, which is why this is posted the day after it had all happened.
Sunday, August 15, 2010
First day at the IOI
An introduction to the IOI
After arriving there, we were all pretty excited and ready to be, as Jarrah challenged us 'sociable', a somewhat foreign concept to us. We managed to meet a nice Belgium guy, who we spent a while talking to, and when we went on a tour of the campus he came along as well. By this time, the already moderately warm day had turned quite hot, and was quickly becoming very humid. After spending an hour walking around, we were all very sweaty and after quickly eating lunch, went to our rooms to change.
After eating lunch, we decided to fulfill Jarrah's challenge by bringing some cards up to the lunch tables and playing Bartog, an interesting game which encourages memory, logic and speed, all things that an information would need, thus explaining its part in the Australian selection process. After getting bored of that, we went exploring in search of a candy shop, and while on the way Evgeny decided to climb a pole, chase a squirrel and climb trees. While on the way we found the Macedonians and the English, both who we had interesting discussions with. After heading back to socialise again, we had dinner and went to a welcoming party.
The welcoming party was fun, meeting the French, Irish and a news reporter. We soon left though, to go play Bartog and the hat game with the New Zealanders and Irish, and after getting too tired, going to sleep.
Friday the thirteenth
Saturday, August 14, 2010
First day in Canada
So today/yesterday we left for Canada, waking up at 6:00 (Or 6:20 with Bernard frantically knocking on our door), and had a quick breakfast before catching cabs to the airport. Once there, we began the long process of checking in, getting past security and boarding the flight, all which took us right up to taking off. We quickly found out that this airline (Qantas), does not provide battle tetris, and so much disappointment was had. After getting over this, I watched some great movies, like Shrek 4, Greenzone, Iron man 2 ect. After realising that it was early in the morning Canadian time, I attempted to go to sleep.
Sleeping on planes is an interesting thing. On one hand, there is an incredible amount of noise, which hinders you actually falling asleep. On the other, after successfully dozing off, you will often wake up feeling stiff, dehydrated and incredibly cramped. All of these led to me only getting about 2 hours in total.
After waking up, and watching more TV and movies, we arrived at Los Angeles. The security there was immense, with all of us getting our fingerprints taken and taking our shoes off for the scan. Although this was bad, I was quite excited to be in a foreign country, and this woke me up enough for the next flight.
The actual trip from the US to Canadia is a bit of a blur. I remember dozing off a bit, but managed to mostly keep myself awake for the trip. We then arrived in Canada, went through its security and caught a bus to our hotel.
After dumping our bags, we went to a Canadian restaurant, which served a variety of dishes. I got a Thai red curry, while others got lasaga, burgers and fish and chips. This was quite a nice dinner, but by the end I was immensely tired and ready to go to bed (after writing this blog post).
On a side note, this was the longest Friday the 13th I've ever experienced.
Longest Friday 13th ever
Shoes recovered, we flew seamlessly to LAX about 16 hours later, where the team attempted to put on their best warrior faces.
After a brief lunch at some very American food chains and a fantastic game of Bartog (a first for the trip, surprisingly!), we proceeded on our way to Toronto. At this point, most of us had gone without internet for longer than we'd ever had since we were born. The toll this was taking on the team was evident on the flight as Luke struggled to stay awake, Evgeny spent 3 hours in the brace position, Kenneth crashed, and Robert examined the effects of the plane's banking on gravity.
We were all drained after such long flights and having been disconnected from the world for so long. Many queues and waits later at Toronto airport, an unexpected saviour cheered up the team - its effect appearing to surpass that of caffeine or any energy drink known to man. We found free internet!
The drive from the airport to Waterloo let us watch a marvelous Canadian sunset slide away over the landscape, hopefully setting our bodyclocks back into kilter. A delightful dinner finished the longest Friday 13th ever, with eight thumbs up. Ginger & pear juice... yum!
Living the dream
Back in 2008 I found the Australian informatics Olympiad on the Australian mathematics trust’s website, and inevitably came to the section about that year’s IOI team. I was astounded and amazed that there was a way for programming to get me overseas representing Australia. Then I saw an IOI problem. Needless to say, it was quite problematic and I had no way of solving it. I wasn’t sure that I would ever be able to solve it. After that I placed the kids that went to an IOI up on a seemingly unreachable perch.
Last year my maths teacher chanced across me mentioning the maths olympiad, that prompted him to dig up a letter asking the school for entries in the Australian Informatics Olympiad (AIO). At that stage I only knew the programming language python, so it was quite fortunate that 2009 was the first year that python was accepted as a language.
Since it was my first informatics competition I assumed that I would go quite poorly, so I read the results from bottom to top. I quickly realised that I hadn’t gotten a bronze, that got my hopes up for a silver, It then struck me that I hadn’t gotten a silver either. I wasn’t hopeful of getting a gold, and I almost stopped reading halfway through gold. So when I saw that I game second, and by two points no less, to someone that had done extremely well last year, I was overjoyed, this was compounded by being invited to the December informatics camp at the ANU.
The months in the lead up to the camp were spend learning C++ (another programming language) and solving problems on the Australian informatics training website. After many sleepless nights problems started to get progressively easier.
The December camp was amazing, I had never been surrounded by so many people that were shared the same interests! It was amazing and wonderful and incredible and it was over in 10 days. I really only came down from the high the AIO gave me on the plane home.
Everyone from the camp was invited to sit the Australian Invitational Informatics Olympiad and the French Australian Regional Informatics Olympiad. My results from these secured me an invitation to the IOI team selection camp that April. This was another incredible event, since this camp meant I was only one step off an IOI. Quite openly, I didn’t like my chances of making it this year, the words “Quit while I’m ahead” jokingly crossed my lips on more than one occasion.
I slept really well the night before the first selection exam, I mean, I didn’t expect to do that well, so there was no stress. Almost unfortunately, day one went very well, so the pressure was on for the second day. In the second exam I got the first three questions out fairly promptly, but I feared that my solution for the fourth and final question was going to be too slow. It occurred to me that this question may be all that was standing between me and an IOI. So I put my head down and nutted out the solution that was fast enough.
The wait after selection exam two was possibly the most stress I have ever endured, I had gotten out all the questions, but there was a lingering thought that I must have made some small error that would cost me dearly. Tradition dictates that the process for revealing the team is as strenuous as possible, while the team is being decided all the students are locked in a room together. Once the team has been decided the students play cards to choose the order for people to leave the room and find out if they have been selected or not. It didn’t help my mental health in the slightest that I was the third last one out.
Walking up the stairs to where Bernard and Jarrah were I was so nervous that I was shaking, when they offered me a place on the team I continued to shake. It didn’t hit me that I would be going off to Canada in a few months.
Sitting on the plane to Los Angeles It’s kind of dawning on me that I’m on my way to an IOI. The people surrounding me have won 6 IOI medals between them, and I hope to join their ranks soon.
Sitting on this plane to Los Angeles I’m living my impossible dream.
Thursday, August 12, 2010
The inclusive group of exclusivity
Last day in Australia
The first problem I tackled was the full feedback one (you could check what you scored for it immediately), and I quickly observed the necessary solution. After a couple of 'huh?' moments after not getting 100%, followed by realising a crucial bug that was screwing it up, I finished it and looked at the next, a much harder one. This time, I was unable to think of the solution immediately, and so only partially solved it before the exam had ended.
Again, this was slightly depressing, but I drew confidence from the fact Evgeny and Kenneth scored close to what I did, indicating that it was very hard. We then went and had lunch, and this time I got some not particularly noteworthy fried rice. Then Evgeny, Kenneth and I headed back to the rooms, with them intending to stay there while I went home to back my bag fully.
The trip home was not particularly eventful, as I have done similar trips before, but killed 3 hours. After arriving back and quickly dumping my new bag, I turned around and was quite shocked to find the mirror of our room drawed on in whiteboard markers. Evgeny, when I showed him it, realised the possibility it presented for doing informatics and so we went into his room for a impromptu problem session.
The rest of the day consisted of dinner at a Thai place, which ended up with all of us getting curries and Kenneth getting a phobia of glasses being knocked over. After this, we went back to our rooms, leaving time for us to pack and go to bed early for the big day tomorrow.
Still alive
Finally managed to wake up at the planned time of 7:10 today. The hope is that I'd be able to wake myself up properly and get breakfast finished before at least one other person so I stop being the reason we go to the labs late. After having seen everyone else regularly buy the pancakes and appear to enjoy them, I tried the same. Unfortunately, I was wise enough to try and spend precisely $25, I ordered fried eggs too and couldn't finish it in a reasonable amount of time, holding back everyone and yet again being the reason we got to the labs late.
Yet another practice paper (the third, if my counting ability doesn't fail me). In my opinion, this exam was harder than yesterday's, not only because I didn't do terribly well, but also because trying to understand the solutions to two of the three harder problems takes a fair while longer than yesterday's exam. The full feedback problem was certainly more difficult than the usual full feedback problems that I've grown used to. Most of the time, the full feedback problem requires some reasonably trivial algorithm to be implemented, not needing too much thought to go into arriving at an algorithm that solves the task (since feedback is usually to assist competitors produce codes with less errors, rather than assist competitors in solving the task on an algorithmic level). Though in terms of the algorithm, today's full feedback task wasn't as too mentally taxing, it had quite a few gotchas that took a while to figure out. Given that the task is full feedback, one would know upon submission that they didn't submit a correct solution and take a while longer than usual to solve what should be an easy problem [taking away precious time to work on more difficult tasks]. That leads on to the other tasks, which had me quite entirely stumped for a long time. Jarrah mentioned how we were going to hate ourselves during the problem session, and for good reason too.
Having collectively discussed the solutions to the problems that had completely confused us only a few hours before, we quickly arrived at an incredibly simple solution to one of harder tasks. Not only was the solution ridiculously simple, but the line of logic that we had to follow was quite obvious once a small observation has been made. Then again, that ability to make the small observations is what differs the good informaticians from the extraordinary informaticians. The other two of the more difficult tasks required less epiphanies and more deep thought and number crunching. This is the kind of deep thought and number crunching that would have the entire team sitting at a table for extended periods of silent meditation that would be interrupted by a magnificent eruption of discussion, shortly followed by further silence. In the end, we came up with an algorithm for solving one of the two unsolved tasks (albeit deeply confusing and lacking an elegant proof) and a questionable solution to the last one (questionable in that it makes sense and should be algorithmically correct, but implementation-wise is a little half-baked).
After the extended problem session (which [since I haven't explained it anywhere else yet] is a session where we all sit down and discuss ideas and potential solutions to problems that were in the day's exam [or any exam for that matter]), we went down to the labs for a shortened lab session (which is where we implement/code the solutions that we discussed in the problem session), where I managed to code up the solution to the task that required an epiphany. I had a stab at the deeply confusing task, but didn't have enough time to finish ironing out the errors.
Butter chicken for dinner (and kebab for lunch). Good stuff with rice. Table conversation was good; we talked about topics such as the ISSC (International Schools' Software Competition), binary search, the expected number of rolls of a dice required to get a number that isn't 6, and whether or not it was possible to make a proper random number generator (i.e. one that has a perfectly equal chance of getting each of its possible values), given a random number generator that gives random numbers of a different range (so something like "given a perfectly random die, create a series of steps that utilises the die to generate a random number between 1 and 5 inclusive" [a la the previously mentioned topic). Truly riveting material.
After dinner, we went back into our rooms, with everyone going to sleep much earlier than usual. Since the Internet connection was offline during this time (which probably explains the early sleeping times), I didn't have a chance to write up this blog post at the time. Instead I thought it would be fun to implement that solution to the minesweeper problem that I so fondly proclaimed in my last post. By the time it was 1am, I had gotten so irritatingly close to a completed solution, but stopped when I realised I was keeping Evgeny awake with the light, loud typing and the TV that I had on for background entertainment so I put it off till a later time.
So as far as I can remember, that was all that happened yesterday. With regards to this particular post, I have a strong feeling that I was being heavily distracted earlier on in the post by a TV, so much of it may not make as much (or any) sense. I'd proofread it, but it probably makes a more interesting read for everyone if I don't.
Flying soon.
-ken
Too lazy to blog
The curious case of the falling cups
Wednesday, August 11, 2010
After that, we grabbed some lunch and had a problem session in one of the seminar rooms. Once having realised that the problems we all failed on was actually really easy, we all felt slightly suicidal and very demoralised for the IOI. Luckily, we went to dinner at an Indian place, which increased our spirits, and after writing this post I went to bed, attempting to get more sleep for tomorrow.
Tuesday, August 10, 2010
Minesweeper incident
[I just remembered that we're not meant to be making exhaustively longs posts, so I'll try to keep everything down to a paragraph per notable 5 hour time period]
As scheduled, yet another practice exam today which I found (and I assume everyone else found) significantly more challenging than yesterday's exam. As usual, the first task was reasonably straightforward and was full feedback (meaning we would know whether or not our solutions were correct and sufficiently efficient upon submission). That being said, it was the only problem of the four that anyone completed (which we all did). The final 3 problems took me around 4 hours of good, hard staring to realise that I wasn't going to complete any. At best, I submitted more brute force solutions (which would take a few billion times longer to run than our time limit), resulting in a score far to shameful to disclose. By the time the exam had ended, we all sat quietly at our keyboards for a couple minutes in shame, reflecting upon the sheer shock of the previous 5 hours. When we had finally gathered ourselves together, we went to lunch to relieve ourselves of the pent up stress that we had garnered.
Fish and chips with salad. A good meal. All of us (with the exception of Jarrah) had sat down at a table to eat and talk casually about the problems before our problem session. When everyone had finished eating, Bernard suggested we take advantage of the conversational momentum and have the problem session at the table (also avoiding using up energy walking back to the labs from the food court). So we stayed sitting and begun sifting through the tasks. After entirely skipping the first task (the easiest), we went onto discussing the second task, BEARs. We all had something to say about it, having come up with various ideas that may have contributed to a proper solutions. Of all the ideas that popped up, one seemed to have significant importance so we pursued it, diving into deeper and more complicated algorithms. After nearly half an hour of confused discussion, Bernard gave a hint that allowed us to put ourselves out of our misery and finally arrive at a proper (and elegant) solution. The next problem that we looked at was Candies, which I found comparatively less approachable than BEARs. As I saw it, the problem could be broken into two parts, the second of which I had largely solved. The first part had me completely lost which was what ultimately let me down. After some hand-wavy discussion, we came up with an algorithm that would work correctly and in time for the second subtask, but would only be useful with the assumption that we had already solved the first subtask. During our discussion of Candies, Luke brought up a brilliant insight regarding the first of the two sub-problems. Unfortunately there were some aspects that needed to be fleshed out which made things very much more complicated. Again, as with BEARs, we begun to dive deep into the algorithmic possibilities for solutions to the first subtask, Evgeny describing his solution to it in depth. Midway through his explanation, I felt sufficiently convinced that it was correct, but Bernard was much more critical of it's correctness, again giving us a light push towards the official solution. As usual, the algorithm which we ended up at was amazing and appeared to be so obvious and make so much sense, but unfortunately doing so many hours after the exam.
Off to the labs to have a stab at implementing the solutions to the problems which we had spent the previous 4 or 5 hours discussing. In the end, I was able to submit a complete solution to BEARs, as well as the final task from yesterday's practice paper. During the problem session, Bernard had mentioned something about the final problem (which I failed to mention in the previous paragraph). Summed up, the task was to produce a valid placements of mines in Minesweeper such that the configuration would fit a pattern of numbers describing the number of mines around each cell. The thing that Bernard had mentioned was in regards to the feasibility of the problem with relation to the size of the grid. Apparently, if at least one side length was not equal to 2 modulo 3, then it was computationally possible to efficiently produce a layout of mines that would fit the given grid (assuming such a layout exists). Luke and I searched around for the solution, finally coming across some observations that made today's final problem, Mines, the single most awesome task that I have seen during this training week (awesome enough for me to name this post after it). I would talk far more about the problem and the sheer awesomeness of the solution, but it's probably in my best interest to keep this post only as long as necessary *cough*.
Dinner was pizza. It's nice to have pizza from a place that isn't Pizza Hut or Dominoes. During dinner, the team and our leaders discussed the layout of the coming IOI, including the advantages and disadvantages of various changes that have been made (such as the idea of "release tokens" and the modified forms of submission that have been put in place). Interesting moral debate regarding the informatics spirit ensued.
As of a little over half an hour ago Luke left the room and as of a little a few minutes ago, Robert left too. I must say that it feels terribly unsatisfying to write up such a relatively short blog post after my original plan to write posts of exponentially increasing size (which would have had this post hovering around the 4000 word mark), but it's probably in the best interests of all (particularly myself, having lost a fair few hours of sleep typing away at my netbook). I have a bizarre feeling that there's going to be something crazy like an A-session tomorrow (which is like a normal informatics exam but without the computer, and with the use of more paper and more rigorous proofs). Chances are that I'll be entirely incorrect, but that's my guess.
Until next time
-ken
Day 2
The rest of the afternoon was spent working out the implementation of our solutions, although we all knew exactly what to do, one of the problems required some trippy Chinese maths which none of us knew.
Finally, dinner tonight was pizza, which actually filled us up unlike last night, and after that we came back to our rooms to write this blog post where we have been instructed to reduce our number of sentences, so that may explain my lack of breath after proofreading this.
Monday, August 9, 2010
The preparation commences
Now (as far as I know) for most breakfasts, anything over $7 would pay for a pretty substantial meal. We had twenty-five dollars to spend. I thought that this was going to be enough to pay for at least breakfast and lunch, if not for a cheap dinner...until I took a closer look at the menu. Shrugging it off, I tried to to make a selection of breakfast items that would make the best use of the $25 limit we had. After some highly questionable mental arithmetic, I made my order. After some more quick mental arithmetic, I realised I had spent precisely $25.50. I daresay my reaction to my oversight was trumped by everyone elses' amazement at how I managed to spend over $25 for breakfast.
By this time, it was around 8am, giving us about 15 minutes to eat and 15 minutes to walk down to the CSE labs. This would have turned out all good and well, except it had taken a little over 20 minutes for the food to come out, leaving us 5 minutes to eat and a little under no time to get down to the labs for the exam which we had ready and waiting. So taking note that I had over $25 worth of breakfast sitting before me and that I'm a relatively slow eater, this was a terrible situation to be in. To be honest, the next 8 or so minutes after that are a little blurry, mainly because I was too busy shovelling food into my mouth as fast as my dry throat would allow. Luckily, Evgeny had ordered the exact same meal as me (with the exception of the muffin that sent me over the money limit), so he was also struggling to consume breakfast. We both finished at roughly the same time, but I had to run up to my room to get by bag. Unfortunately, running up to my room took a little longer than the team (and Jarrah) had patience, so by the time I had come back down the stairs, everyone had left.
This was where the fun and games begins. All I have to lead me from our lodgings to the CSE labs is a vague memory of a walk in the other direction the night before. I was wise enough to not really consider the possibility of having to walk to the labs without guidance, so I hadn't committed the path to memory. Luckily, I knew the general bearing of the university, so all I had to do was walk in that general direction. By this time it was just past 8:35, 5 minutes after the trial exam was to begin, so I ran. This being said, running is only as useful as the correctness of the path which you take, and I took perhaps the most suboptimal path possible. So suboptimal that I had completely lost my bearing on the uni. Perhaps the only reason I still ended up getting to the campus was the towering main library of UNSW. I just walked towards the building and soon enough, I was in UNSW. Having finally regained my orientation, I ran the rest of the way to the lab.
By the time I got into the lab, only Bernard was anywhere to be found. He kindly directed me to sit in before one of the lab computers with an exam at the desk, but obviously not to look at it until everyone else had arrived. Seconds after I had settled down, 3 frantic team members and a deputy team leader came casually strolling in through the door. Each of them had a very similar reaction once they had realised I somehow, having last been seen disappearing back up to my room, ended in the labs, prepared and set up, before they had arrived. I had nothing to say other that 'twas magic.
Within the next 10 minutes, after setting up our exam environment on our lab machines, the exam begun. A quick skim later, I had mentally sorted each of the 4 problems that we had in our 5 hour exam into ascending order of difficulty. Dynamic programming, sliding window, russian dolls and a bizarre combinatorics. The first were easy enough and I had completed them in by the second hour into the exam, as well as confirmed my solutions as complete and correct with our newfound ability to view the results of a small set of our chosen submissions. I had left myself with 3 hours to solve the final problem.
3 hours is a lot of time, but oh how it flies in an informatics exam. With only 1 hour left until the end of the exam, I had progressed up to the point to having a solution that would taken a few lifetimes of the universe to complete computing (well, to be more accurate, a few million lifetimes [perhaps billions]). Unable to improve upon my effectively incomplete solution, I submit (in both interpretations). Soon enough, the exam was over and I ended up with a score of 350, tying with Luke. The sadness of being unable to progress past 50 marks over the 3 hours wasn't helped by my starvation at the time. Fortunately, lunch was scheduled directly after the exam.
After a break and a quick laksa at a campus restaurant (which only cost $8, as opposed to the $25.50 of breakfast), we went back to the CSE building to talk through our exam. Apparently, everyone else was terribly confused by the final task. Apparently during another informatics competition, only one submission received full marks. We talked in depth about the task, exploring the algorithmic aspects required by it, trying to develop an understanding of how to put together our own solutions. After a couple more hours of indepth discussion, we finally came to an algorithm that would both solve the talks correctly and in a short amount of time. A few problem discussions later, we headed back down to a lab to start putting our newfound understandings to use.
Both Luke and I immediately dived back into that unsolved task that we had from the exam earlier in the day. In informatics, knowing how to solve a problem is only half of it. The other half comes in being able to write a program that implements our algorithm and to write it correctly and without any errors. Some tasks put more focus on the problem solving aspect, sometimes requiring tiny amounts of code to implement. Then there are tasks that are reasonably easy to solve, but a nightmare to implement (a la Rods from IOI 2002). Our task fell somewhere in the middle of this spectrum in that it wasn't much harder to implement that it was to solve, but taking note that this was the same problem to which no solution was found in 3 hours, implementation was going to be a challenge.
In the end, Luke was able to implement his solution to the task, getting 100% on the training site (which isn't quite as rewarding as doing so in an exam), while I was still utterly confused at why my code produced ridiculous output. Over the course of the next half hour or so, I had managed to fix what I thought was all the errors in my code, so I submit my solution to the training site. 60%, partially incorrect and partially too slow. Shattered, I quickly sift through my code for any obvious errors, noticing that one of my variables was overflowing out of it's range of allowed values. Making a quick fix, I resubmit to the training site. 90%, one case timing out. This meant that my code was inefficient somewhere, pushing its running time just over the time limit (by 0.085 seconds, as noted by Jarrah). Soon enough, the rest of the team was crouched around my desk, watching me try to further optimise my code so that it would be fast enough. Trying arbitrary changes and making minor tweaks, I couldn't get my submission to run in time. By then, I had finally realised that everyone crouching around my desk was a sign that everyone was waiting for me. By this time, it was somewhere between 7:30pm and 8pm. Dinner time!
Leaving my code behind, we walk back up to our rooms to drop off anything we didn't want to bring to dinner and start wandering around the vicinity looking for somewhere to dine. We come across a Spanish restaurant, and after a quick assessment of our options, we decide that the possibility of finding nothing else worthwhile outweighed the sacrifice of simply having dinner where we already were. Long story short, I felt as though the dinner was a slight rip off. That being said it was definitely nice food, although measuring the cost of dishes with a unit of pizzas may have taken things slightly out of perspective.
Alas, dinner is over and we go back to our rooms to bring a close to the day. It was around 9pm at this time, giving us several hours to spend before the demand of sleep finally kicks in. So we all end up sitting around in one of our rooms talking about the meaning of life, the universe and everything.
By around 11:30, Luke and Robert realise it would probably be in their best interests to retire to their rooms. Sitting in our room, the conversation dies off quickly, replaced by the mentally undemanding TV. After 45 minutes or so, Evgeny realises it's in his best interest to go to sleep and does so. For some strange reason, I felt a sudden urge to write up a blog post.
And that leave me here, typing this and reflecting upon the events of the past 24 hours. Right now, it's almost 2 (1:57) and we have another practice exam in the morning. If my mental arithmetic serves me well (which breakfast has shown otherwise), I have to be awake in a little over 5 hours. Perhaps it would be unwise of me to add this final paragraph, knowing Jarrah and Bernard will ultimately see it and show great disapproval of this sleep deprivation, but it seems like an amusing ending to an otherwise somewhat verbose blog post.
Hopefully I can survive on 5 hours of sleep, only time will tell.
-ken
Day 1
The exam itself was quite nice. I got out the first 3 problems within 2 hours, but then spent the last 3 working on a 300 line brute force to the last. This ended up scoring 50%, which gave me the best score along with Kenneth, who also was stuck on the same problem. We then took $12 from Bernard and checked out the lunch options (I was quite amazed that we were given 25 dollars for breakfast and then only 12 for lunch). We ended up going to a nice asian restaurant and got laksas.
After lunch, we went back to a seminar room and looked at the problems we had just solved. Lego (the problem that I had got 50% on) turned out to be, surprise surprise, a massive implementation pain, with a smart observation. After gaining a bit of an insight into it, we went to the labs again and attempted to solve it. At about 7:30, just before we went to dinner, I removed my last bugs and got it out, a feeling worth the time spent on it.
Dinner was very interesting tonight. We went to some Spanish restaurant, which was incredibly overpriced and really wasn't that great. Because of this, we went to coles afterwards, and bought a few bread roles to satisfy our hunger. This ended our day, and we went back to the hotel to relax and rest for tomorrow's exam.
T-something hours
Informatics has a variety of uses. Lots of people don't know what it is, or why is "typing on a computer" is considered hard enough to be an international competition, but I can say that it comes in useful when you want to order exactly $25 worth of breakfast ("Big Brekkie" with a large cappuccino and a croissant (which I did not get time to eat (maybe I should cut down on the brackets))).
Running down to the CSE labs for the first Trial Exam, we managed to lose Kenneth. He somehow managed to turn up there before us, meaning that someone was taking the longer (longest?) path down to UNSW.
The exam was fairly unbalanced, having 3 easyish problems and 1 nearly impossible one. I mean, come on, how are we supposed to code that up in an exam :(
Sunday, August 8, 2010
Alas, we begin
I rush down to the CSE building (K-17), call Bernard to lead me to the rest of the group. Soon enough, I'm on the 2nd floor, sitting at a table with the rest of the team having entirely missed the entire discussion. Apparently the discussion that I had missed was focused entirely around a particular informatics problem, Islands from the 2008 IOI. It seemed that everyone had explored the problem in great depth and arrived at a completed solution for the problem. Fortunately for me, I had already sat through a problem session focused around Islands at a previous camp, so I hadn't missed out on terribly much. As soon as I had arrived, every one was packing up to head off to the labs, psyched up and ready to do some hardcore coding.
We gathered around in a nice shiny CSE lab, ready to implement our solution to Islands. Logging in, I pull out my less-than-trusty pen and paper, trying to recall the solution that I had once had known. Minutes later, I had written out a half-page of pseudocode to guide me through my approaching frenzy of coding. A couple hours later, I was staring at the 200 or so lines of code that I had splattered across my screen. It had made so much sense in my mind and on my paper, but when I finally came around to the implementation stage, I had hit what one may call a few "implementation details". A while later, after having moved to another lab having been "forced" out of our original one (due to some automatic system), I found myself staring at the same piece of code, still completely lost as to the nature of my error. Ultimately, we ended up bailing for food before I had gotten any closer to a solution.
Wandering back to our lodgings to dump any unwanted weight, we executed a brief search of the nearby vicinity to find a Turkish pizza/pide place. We all sat down, talked a bit, talked a bit more, looked at our menus awkwardly, talked yet some more, forced the waiter to wait a little more while we decided on our orders, talked a bit more, looked awkwardly at our menus for a bit longer, talked one last time before finally ordering. Everything we ordered was "special" in some way (according to the menu) (Chef's Special, Chicken Special, Spot Special, Meat Special and some other Special). Apparently the Chicken Special (which Luke and I ordered) was some kind of a elongated pizza, while everyone else's orders were pides. A good meal to seal off a frantic day.
After eating, we talked more about the world of informatics, what Canada would be like, as well as what various past IOIs were like. Fascinating discussion that somehow warped into me and Luke talking about our trial HSC exams (which will be suspended for us while we're at the IOI) and about the education system of NSW and the national curriculum. This then went onto politics and other topics which I don't recall. Somewhere in the converse, Bernard brought up how it was about time the informatics team start a blog, hence this blog post.
I really don't know what I'm meant to be putting in this blog post. Hopefully this post makes as much sense (and doesn't sound as ridiculous) as it originally did in my head.
All in all, it's been a fine day of training (even though I was missing for most of it) and I'm getting pumped up for the IOI.
[gosh, long blog post]
Also, if anyone is wondering, I don't normally communicate like this (ie. the bizarre vernacular)
-ken
Day 0
The dinner tonight was Turkish, which was actually pretty nice, considering I had no clue what type of food it was before trying it. I had a kind of pizza/garlic bread thing, which was pretty good. After dinner we went back to our rooms, to rest...
T-134 hours
day 1 v2
I traveled down yesterday since there is no possible way to get from Cobar to Sydney for a 2pm start. For me travelling consisted of a 3 hour bus ride to Dubbo, then a flight to Sydney, making for an 8 hour trip. The stop over in Dubbo was extremely useful for stocking up on supplies, like travel adaptors for such wonderful places as Canada. Also the taxi trip out to the airport was possibly the most optimal drive possible, by the end we were talking about time travel and special relativity.
Last night I had dinner with Jarrah, Bernard and his wife at quite an interesting chinese restaurant near UNSW. I have never seen so many melons in one fridge! We got there eventually after figuring out how to use the boot (we're informaticians, not drivers). Unfortunately I was under instructions to not get hospitalised or arrested.
This morning I had a wonderful breakfast at the cafe next to the hotel (since then I have been given breakfast vouchers). The bacon and egg roll had half a pig on it!
I met up with the rest of the IOI team at 2pm, from there we went to UNSW for a problem solving session. We solved a problem from the Egyptian IOI involving bridges, ferries and lots of walking, it boiled down in to a set of cactus/vortex graphs.
Training Day 0: Check-in
Today was day 0 of some intensive pre-IOI training. Several hours of hard problem solving, followed by a several more hours of difficult coding, just to get the team into the swing of it! Each of the following days will kick off at the ridiculous time of 8:30am with a 5 hour exam. It's not going to be pleasant, but getting up early at the IOI will hurt just as much.