Hello Codeforces!
This is not a round announcement, however.
I realized it's around 4 years since my last rated participation, and 3 years since my last problemsetting contribution. I realized I never said a proper goodbye to competitive programming.
I know, I know, this is not an airport, thus my departure is not mandatory. But after all, this is a free space of my blog entries after all. Besides, today is my 25th cake day, and I just feel nostalgic reflecting everything I have gone through. Thus, rather than just saying farewell, I'd like to, in an absolutely styled late attempt, jump on the trend and reflect on the past programming problems that I have authored.
My format would be a bit different though. I prefer to write in my own style and convey my thoughts the way I feel comfortable. ;)
Okay, first and foremost, I'll only consider those available in official Codeforces rounds. I've done quite a myriad of work in various local platforms that I couldn't even recall, so, yeah, pardon my goldfish memory.
1. Codeforces Round 538 (Div. 2) (April 2019)
Ah yes. The beginning of everything. I still remember working with cdkrot that day. They denied a whole bunch of simpleton ideas I've made back then. It was a struggle. At the end, I still somehow managed to pull out a proper Div.2 round. Would be cool enough.
Also, for a bonus, being able to cooperate with guys like GreenGrape and majk was a huge pleasure. And I can't thank you both enough.
# | Problem | Comments |
---|---|---|
1 | 1114A - Got Any Grapes? | A classic Div2A problem. Nothing much. The problem was crafted on the move, and the theme quickly followed with the might of our grape master here. Also, who included the duck song here again? I can't recall, but yeah, this is the final touch for a good meme. On a bonus note, I love that a full-fledged mincost maxflow solution actually passed this problem nicely. |
2 | 1114C - Trailing Loves (or L'oeufs?) | I honestly didn't realize this problem was well-known enough before that contest. No, really. Nobody in the team warned me either, so I would assume this was safe to go. The inspiration? Just my immense addiction with number theory and messing up with bases, that's it. For a funny thing, I love the fact that people actually messed up the actual 0 digit with imaginary "0" one from character equivalent to a decimal value of "10"/"20"/etc.. Kek. |
3 | 1114E - Arithmetic Progression | The climax of the controversy in this round. Hehe. This is kinda the most confusing problem to look back for me. It's simultaneously one of my proudest and worst work. We'll get through both. For the "worst" aspect, the solution of this one seemed really, really discrete. Two sections of the interactions didn't even connect that well, it was like I tried to merge two problems into one. But the best part... yes. The pretest fails. For a bit of context, at the beginning, the array would only have at most $$$10^5$$$ elements. However, I sensed some oddities in the randomization. I can't remember if it was from my script-generated input or my past model solution, but something didn't randomize properly in the range, slightly shifted to the left. At that point, I started digging into the GNU C++ library, and figured out the issue with rand() . From that moment, everything checked out. I started raising the size limit to $$$10^6$$$, and carefully tested to make sure I would generate a bunch of tests that would properly punish unwarranted randomization — which, you knew it, ended up as pretest 12 (and a bunch of other pretests after that). Honestly I felt really proud seeing you guys failing there a lot, I knew my doubt was on-point and I delivered quite a way to prevent this contest into a hackfest... or so I thought.One last thing, the hacks on randomizers with timestamp-based seeds were not my doings. At all. I would never do something like that. |