$0 + 100 + (100 + 100 + 28) + (95 + 100 + 35) = 558$.
My second year of high school flew by. It feels like I had just finished reeling from last year’s NOI, and now the second round is about to start.
On July 11th, I arrived in Chongqing, taking the high-speed train. Coincidentally, I ended up with a seat in the same row as Guosoun.
Next, I spent a day participating in the NFLS contest and another two days for the UNR. On day one of the UNR, I performed exceptionally well, scoring 280 and securing rank 3. However, on day two, I fell back to reality, dropping an entire tier in ranking compared to day one. Still, the overall score gap wasn’t too big, so I managed to sneak into the top 15.
In hindsight, I realized that my solution to d1T3 was a brute force approach that somehow worked, and during d2T3, I was just one step away from the correct solution. Maybe my foundation in data structures isn’t solid enough.
Fortunately, in the last mock exam, I regained some of the luck I had used up, ending up with only half of my expected points.
And so, amidst the cicadas’ buzzing in the scorching heat, my last journey to NOI officially began.
Day 998244351 - Registration Day (July 16)
In the afternoon, I arrived at CQYC. Having experienced the NOIWC before, I was even pleasantly surprised by the dorm environment. Dinner was great, even including lamb skewers—cafeteria in NFLS feels like a joke in comparison.
The air conditioner was really loud at night. I had to wear my AirPods and turn on noise cancellation to fall asleep. Why does it seem like I also struggled to sleep due to noisy air conditioners last year at CDQZ?
My roommate snored, but it was far less disruptive than that air conditioner (which I later discovered was also leaking).
Day 998244352 - Opening Ceremony and Practice Contest (July 17)
Zide Du once again rambled abstractly during the opening ceremony. It was so much that I won’t even bother writing it down (definitely not because I’m afraid it might get censored).
In the afternoon, we had a practice contest and a multiple-choice exam. The practice problem was from NOIP2023, so naturally, I started from the end! It only took me 20 minutes to solve T4, and then I tried to figure out the correct solution for T3, realizing how quickly I got it (why didn’t I think of it back then?). But the linear time algorithm was too large in time constant, leaving me with just 80 points, which wasn’t even as fast as my incomplete $\mathcal O(n^2)$ solution—how is that possible?
The multiple-choice exam was a complete mess. Upon opening the contest page, I found the answers already filled in! Turns out, CCF made a mistake and sent us the answers of last year’s participants with the same ID. This also means that for three years in a row, NOI has used the same multiple-choice exam without even changing the options! LOL.
As expected, I aced it, just like what I did in last year. Before going to sleep, I had the foresight to bring my AirPods into the mosquito net.
I slept quite well, with no significant psychological pressure.
Day 1 - First Competition Day (July 18)
just#remember19
Time flies, and Little S and Little Y will drift apart. The only way we stay connected to someone is by remembering them, and that’s all there is to it.
Based on experience, I did’t eat too much for breakfast.
Before entering the exam room, Mr. Li handed me a bottle of coffee, but I’m not in the habit of drinking coffee. In the end, I carried a bunch of bottles to my desk.
I scanned the questions, and T2 turned out to be an interactive problem. It took me 5 minutes to solve T1 with hash + two pointers, but I fiddled with it until 8:45 like an idiot because I kept getting the positive and negative signs wrong. Overall, though, it was pretty quick. Then I tried to self-evaluate—what the heck, why are there 20 test cases? Didn’t they only test big samples? (My first reaction was that CCF accidentally released the test data again, like yesterday). NOI switched its rules to IOI with pretest, making history.
When I finished reading T2, I was shocked—wasn’t this almost identical to the problem in SDWC which I gave to an NFLS mock? Just DP the optimal partitioning plan and then construct it. I wrote a DP solution and got the required 1099944 in 1 minute. I spent some time writing the interactive part and passed it with 2h30min left.
Then I looked at T3, feeling I should attempt an implementation with $\mathcal O(n^2)$ time complexity. But I had no ideas, so I resorted to brute force, earning 28 points. I even tried using randomization to rush through some cases, but it didn’t work.
Before the competition ended, I estimated the team cutoff to be around 236 (meaning just one more subtask with $10^5$ and property B than my score). On the way out, I asked Qiuzx and he scored 211, making me think I was above the cutoff. However, when I met Mr. Shi, I saw the table full of scores above 250, and later heard that over 20 people had 264. I felt a bit down, thinking that even with 5 more hours, I still wouldn’t be able to improve on T3’s 28+.
But it wasn’t too bad—I was at most 12 points beyond the cutoff. With the help of my teachers and family, I quickly adjusted my mindset. I had to believe in my future self!
In the evening, I found some interesting new anime from July, which I could watch when I had time.
Day 1.5 - Social Activities Day (July 19)
I slept in, skipping breakfast. I ate the Snickers bar given during the contest when I got really hungry. Why was visiting the museum mandatory?
My feet hurt from walking, and I even fell asleep on the bus ride back to school. When I got back, I took another nap.
I heard that someone got a fever after returning. I was scared. That night, my right arm felt sore, but it wasn’t a big deal.
Day 2 - Second Competition Day (July 20)
the#life#you#want24
As time passes, Little C and Little Y will meet again. Looking back, everyone will live the life they want.
Mr. Li handed me a bottle of coffee and a can of Red Bull, and I was surprised to find that the coffee bottle could sit stably on top of the Red Bull can.
The exam began. I looked at T1, which I wasn’t sure about. T2 seemed like a counting DP problem, and T3 was a graph theory problem that seemed doable. After some time, I figured out the method to calculate $f(i, j)$ in T1 using the Euclidean algorithm, and after searching for patterns in the data, I found a method with weird complexity that could handle $n, m \le 10^6$—worth 85 points.
After more than an hour with no more ideas, I focused on T2. Seriously, you’re telling me this is NOI d2T2? I figured out an $\mathcal O(n \log^2 n)$ tree decomposition method in 5 minutes, and it didn’t seem that hard to write. So I decided to spend 5 minutes writing a BFS for T1, which was less than 20 lines, and then spent 1h5min carefully writing T2. After debugging one error with an uncleared array, I passed the big samples. Before submitting, I added a comment at the beginning of my code: // I will win!
.
Now I had 185 points, with 2h45min left, and the advantage was mine.
I tried thinking about T3. I quickly solved the parts I understood for 25 points. After some careful thought, I figured out how to handle properties BC using Tarjan’s algorithm to record the second lowest low point, which gave me 35 points. I also tried using randomization to push through property B, but it didn’t work.
With 40 minutes left and an unsolved T1, I started to panic. I thought at least I should handle $n \le 8 \times 10^6$ for 95 points, so I wouldn’t fall behind those who solved T1. I optimized the time complexity, but the space complexity exploded. After thinking for a while, I decided to switch from BFS to DFS, and found that everything worked out, giving me my final score for the competition.
I spent the last 10 minutes in a mix of emotions—anxiety about making the team, excitement over scoring last-minute points, and relief that my OI journey was ending. The only thing left to do was to switch between tabs and flip through the exam papers, hoping to find more points. Then I heard the whistle echo through the gym, and it was all over.
Only then did I notice Bronya sitting diagonally behind me. After a brief exchange, I felt hopeful. Outside the exam room, Mr. Shi continued collecting scores, and after asking around, I realized no one had scored higher than me. That’s when I realized I might actually have made it.
Everything started to feel surreal. I unconsciously ate a symbolic lunch, watched my badminton shuttlecock soar through the air, and tried to endure the torturous 2-hour wait before the score release. Then, back in the gym, I saw DeadX raising his hands in celebration. I walked to my computer, opened the score sheet, and celebrated with my friends.
I had imagined what I would do if I didn’t make the team and what I would do if I did. But when I finally made the team, I could no longer distinguish between dream and reality.
That night, at the carnival, I exchanged for a Nailong.
Day 3 - Closing Ceremony (July 21)
In the morning, I listened to half of “My Journey with NOI,” and spent the rest of the time playing PVP in Minecraft.
A group of us ordered McDonald’s for lunch, and in the afternoon, I remembered I had to leave right after the closing ceremony, so I packed some of my belongings beforehand.
At the closing ceremony, I received my gold medal, shimmering with a golden light. There’s no need to write much more about the rest.
I was happy to see many familiar faces also making the team. I was also sad to see many strong competitors miss out on the gold. I wish them the best in adjusting their mindset and hope to meet them at the peak in the near future.
Last modified on 2024-07-21