ICPC 2023 regionals


How do I even start. So I'm in the competitive programming club here at UC Santa Cruz where the premise is basically just centered around ICPC. It's a big competition that's truly global. Like tons of European and Asian colleges along with middleeastern and even African colleges participate in it. It's basically groups of 3 people solving a set of ~13 problems from colleges. And not to mention the contest is literally 5 hours long.

stream link

general/broad contest page


So before I get to the contest man I woke up at 7:30 and got to the quarry plaza at 8 AM where one of the coaches/UCSC student picked me up and the rest of my team to carpool to De Anza college. Here we are at the California venue. Notably Berkeley, Stanford, UC Davis, SCU, De Anza themselves, SFU, SJSU, Chico state, and some other CSUs and other colleges. So you know what that means TIMOTHY PULLED UP which was so fun because first of all when we got there I saw this guy:


THAT right there is xiaowuc1. When I saw him I was like WAIT... I recognize him dude and it took me a minute but I realized it was him. Now this is a big deal for me because this guy is like such a legend and icon in the binarysearch community and I recognized his face from some twitch streams he would do after contests. This guy was level inifinity, highest rated on the site, eventual mod on the site, was the only one to buy the binarysearch jacket for 153,000 gems, and most importantly never talked or spoke to anyone LOL. During those rare times where we would see him in a room he would just solve problems ominously and ignore the chat. This guy is an IGM on codeforces and also one of the main USACO problem setters. I DID NOT expect to meet nick wu, xiaowuc1, here but WOW THAT IS insane. That's like the third guy from binarysearch I've met in real life. We got nikhil, brandon lin, and now xiaowuc1.

So obviously this was a great moment for me and timothy to see this guy in real life as he was like the head problem setter and was announcing things about the contest format before it started in front of all of us. It's crazy to see him in-person and how he acts he is very assertive and actually very well like articulated, like he isn't awkward the way he speaks at all. You can tell that this guy probably laughs like once per week or something though LOL he is so serious about everything. I didn't see my guy crack up a smile at all this entire day. He only did on stream at 3:37:17 I discovered. And next to him you can see on the stream is LITERALLY SECONDTHREAD who has 34k subscribers on YouTube and is someone I look up to because he's one of the rare java users. I did NOT expect him to be here hosting the stream but WOW i got to see him in-person and he is so skinny lol but I told him im a big fan and that I also use java and use his templates and evyerhing man I DID NOT EXPECT TO SEE CELEBRITIES HERE LIKE WHAT THIS IS SO COOL 

Let's move on, so next was the 5 hour competition and we prepared for this by doing weekly practice sessions every Tuesday morning where we just printed out some past ICPC regional and simulated the contest experience together. That got us prepared but yeah we have to use one machine among us 3 and all 3 of us use 3 different languages so that's some great chemistry on the board we can debug each others code and understand each others code LOL.

Ok so first FYI we cant bring in any phones or electronics, but we can bring in printed materials or textbooks. We left all our bags and phones with our coach outside. And here were all of us and so many schools that came all over norcal to compete. It was honestly crazy and the director guy just started counting down from 10 out of nowhere and next thing you know you hear "GO!!" and everyone's frantically logging into the machine and opening our envelope containing the problemset. And then was 5 hours that honestly flew by because we were just so busy thinking about problems the entire time, it's like taking a test. WE DID really well in like the first 2 hours. We had this flow where me and hazel would read problems and if we saw an easy one we would show it to daniel, who's the best on our team and a master on codeforces. And we'd tell him the intuition and he'd cook it up super fast and like we were doing really well, but in order to advance to Nationals we would have to be the 5th best school so we never got ahead of ourselves. Then at one point Hazel started doing problem F which was a super big implementation-heavy problem and while he coded it up which takes a long time I came up with a ton of test cases because I knew that there was a big risk of getting a penalty in a problem like this where it's all implementation based. 

So then it passes my test cases and so we submit and then it gets Wrong Answer verdict. Oh no, so I think about other edge cases and I discovered one where his code didn't account for a page with everythign selected where that's what it wanted too. But then even with that fix it still didn't work, and like Hazel's code was just so bad she had to code up an if statement for a test case where everything was 0's and that's when I knew that there was a chance it would still end up with another Wrong Answer. Like, the algorithm itself should be able to cover for the 0's case and her code in general was super sus just the way she tackled, so after thinking for like a minute of other test cases we could be failing to account for I decided to restart and do it all in java. Daniel was thinking about another problem during this time so the machine was free to use. It took me around like 20-30 min to code up the java and literally it's just the same approach but it's my implementation and I have a lot of experience on like implementation problems like this. I've learned that you have to have good variable names along with knowing what the structure of your code will have to be before you even start it. You can sometimes just tackle it raw and improvise the code but things could get messy. Before I even started coding I envisioned the map that would store all the needed operations, and then I knew I could use this cleanly to loop and find maxL and minR and everything jsut worked from there. If this code in java didn't pass then we would have a problem cuz literally we thought of like every edge case possible and at this point I'm just confident in it. And THANK GOD it accepted, so yeah that was assuring to me that like I really do have specialty in implementation problems. It was a super big call and a super big decision and a super big risk to just say "fk it, let's jsut forget about these past 45 minutes and restart, we can dwell on it but that will only make things worse." Looking back, that was super pivotal.

Sometime after that they brought in subway which was FIRE because I got the spicy italian and each box also came with a COOKIE and chips. The subway cookie is so fire so that was a very pleasant surprise. I was reading and thinking about problems while eating, I really expected some mid costco-sandwich lunch but catering subway WITH COOKIES is def nice af.

And the rest of the contest we would discuss things and think about problems, particularly problem J I spent a long time trying to reduce it down to try to find a hash or id of intersecting lines, it was frustrating. Daniel solved like 2 more problems on his own, he basically just said 'TRUST ME, I AM HIM" and HE IS HIM because without that carry on those 2 problems we wouldn't have a shot at all. I had no clue had to do those problems that he solved if imma be real with you, they were really hard.

The last hour the scoreboard froze, which basically means that everyone's submissions on the scoreboard appear as 'frozen' and you don't know if their submission was accepted or not. We were at 7 problems solved and only had two penalties which put us into a good spot because pretty much if any other school reached 7 problems during the last hour we would still be ahead of them due to our low penalties in the tiebreaker. 

So the last hour we were trying to solve G but things were looking very hopeless, div1 problems are so hard. Davis, SFU, and U Washington were each at 6 problems solved, and each of them submitted for 2 more problems. At this point we were 4th place, and the top 5 schools advance. I didn't even think we would be in this position where we had a shot, and that made things SOOOO stressful. Because if 2 out of those 3 schools each got 2 more problems solved, we'd be bumped to 6th place...


So then the contest is over and all we can do is hope that only one of those 3 schools cashed in 2 more problems. We really didn't know what to expect. All we knew is that there was a chance that it would be a very long car ride back to SC.

We first ate dinner, it was like 5 PM at this point, they brought in pizza from papa johns or something, and I went over to Timothy to discuss the problems. His team did pretty well, also solving 7 problems. Berkeley is so stacked.

And next was like the closing ceremony where they unfroze the submissions and revealed the final standings. All we could do is just sit back and pray. Here's my photo album of that day, you can see some photos:

https://photos.app.goo.gl/rQBzPrNi25GiTCXCA

And when it gets to Davis and they fail their first one we know THATS GOOD because even if they got their second problem they still wouldn't beat us. SFU and U Washington both however got their first AC. Then SFU FAILS and we're all just like wait... is that it? IS that it??? U Washington gets their second one so they move up to 4th place and we're bumped to 5th, but the leaderboard moves on and they begin to reveal stanfords and berkeleys which doesnt matter. I remember vividly looking back and like asking "DID WE MAKE IT???" and hazel being like "YES WE DID" and then Daniel recording everything and being so happy we were just like so shocked and so relieved. The year before this, they had Daniel, Hazel, and Qdd, who we will cal lhim. I forgot his chinese name but hes chinese exchange student and this year he's age restricted so he was ineligble to participate, but last year was their first time doing div1 at ICPC and they got a 6th place heartbreaker. Last year's regional was at Chico state as well, and they said that that was such a depressing day for them beacuse they lost off of penalty tiebreakers and everything jsut fell apart, they vastly underperformed.

It still doesn't feel real to me, we're going to Orlando for the North American Championship at UCF. They've advanced 5 schools from the PNW region for the past like 10 years or something idk and this year there's more teams competing so it's at least 5 schools. 

ICPC paid for our regional registration fee for all our teams, and we have hopes that they will now pay for our flights and hotel going into Orlando on memorial weekend. They have to be proud of us, this is the first time UCSC has made it to this stage at the ICPC. This legit felt like a dream, after this our coach took us to a mediterranean place for a second dinner and we just talked about the contest and honestly just life. It was like an afterparty. It was like a fairytale, we couldn't believe it, our coach was so happy for us too.

It just still doesn't feel real, when I went back to my dorm the first thing I did was take a dump because I didn't have time to in the morning lmao but anyway i was blasting music and I just felt like so happy like literally I get to travel to Orlando like bro this is so crazy. This is actually crazy like this isn't real. This isn't real man wtf. It's literally over, we literally did it. I'm so happy man. I don't even know what to say, it probably won't hit me until I'm at the airport sitting down and literally realizing that it's actually happening. This all feels so fake like a fever dream like this isn't real man. Never in my life have I done something like this before. This doesn't make sense. Everything just aligned for me, everything just aligned for our team and our performance. I never thought coding all those days during covid would take me to this. Wtf.

There's so many details of this day and ICPC that I prob missed some. Either way I'm wrapping up this blog post, I'll be back for another post in May. I can't believe I get to say this. I can't even express what this means to me, like it just feels so unreal. Daniel is such a beast man how did he solve all those problems. We were so locked in we deserve this so much.


Lyric(s) of the Post: 

"You say this future is a world away

I think you worry way too much."

No Fear No More - Madeon









Comments

Post a Comment