plourde27's blog

By plourde27, history, 14 months ago, In English

Hello Codeforces!

We are excited to invite you to compete in the California Informatics Competition (CALICO) Fall '23! The contest will start on Saturday, November 18, 2023 at 4:00 p.m. PT and will be 3 hours long. Registrations are now open and will be until November 15, 2023 at 11:59 p.m. PT, so register here while you can! The contest will take place virtually on our custom judge platform.

The California Informatics Competition (CALICO) is a semiannual team programming contest organized by students at the University of California, Berkeley. We create original problems to encourage students to grow their problem-solving skills and learn algorithms in fun and exciting ways. Check out our website to learn more about the contest and join our discord server to get announcements, make teams, hang out, and more!

The contest will be 3 hours long and you can compete solo or in a team of up to 3. There will be around 8-12 problems spanning a wide range of difficulty for all skill levels. Some problems will have bonus test sets, where more efficient or advanced solutions can earn additional points. At least one of the problems will be interactive. Anyone can compete, but only pre-college teams will be eligible to win prizes. Editorials for each problem will also be available after the contest. More details will be released as the contest date approaches.

These awesome problems and editorials are written, prepared, and tested by the CALICO Team, including Bungmint, plourde27, yjp20, ss1237, bradley.louie1, mudkip, alfphaderp, vcivek, voidcs, fatant, JayU_, skywire2000, and many more!

We’ve had a ton of fun creating these problems! We think there will be something interesting for everyone, regardless if you’re totally new or an experienced competitor.

Good luck on the contest!

Link to English flyer | Chinese flyer

Full text and comments »

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

By plourde27, history, 22 months ago, In English

As some of you may know, ICPC North America held its 13 regional contests this weekend, with top teams from each region advancing to the North American Championship in May. Our region, Pacific Northwest, ended up being one of the craziest and most fun competitions I’ve ever participated in, so I decided to write this blog to share our contest experience this weekend and some of the backstory behind our team selection process.

Our story begins in August 2021, when I was an incoming freshman at UC Berkeley eager to participate in ICPC after two years of grinding CP during COVID. As soon as I arrived at Berkeley, however, I was shocked to learn that despite being one of the highest-ranked schools in the country for CS, we had no active competitive programming club! Nonetheless, I still found several other competitive programming enthusiasts to practice with early on, including vkgainz and Badint, and I ended up formed a team with vkgainz and eyg for ICPC Regionals. We got third in the region and advanced to nationals, and even though we ended up underperforming a bit at nationals, nationals was still a truly amazing experience, and as soon as it ended we were already eagerly awaiting our next chance to go to nationals. eyg was graduating that year, but vkgainz was also a freshman at the time, so we were already scheming about who to add as a potential third member for the next year’s team, tentatively considering Bungmint, an incoming freshman for the next year who had reached International Master.

Meanwhile, over the summer after nationals, I decided to attempt to start an actual competitive programming club at Berkeley. We had sent 27 people to regionals last year, and we had over 80 people on the informal Discord server we had made the previous semester, so it seemed like the interest was there, and starting a successful club would be a matter of having good recruitment and enough club activities. After assembling an officer team and advertising the club during the first few weeks of the fall semester, we quickly exceeded expectations in terms of club membership, with over 200 people joining our Discord server within a span of a week or two. Berkeley’s notoriously busy classes ended up causing some challenges for club participation rates, but the first semester of the new competitive programming club was ultimately a success, and over winter break, we devised plans for how to select ICPC teams for this year’s regionals.

We decided to run a single selection contest of past ICPC problems on Kattis, and alum and former teammate of mine eyg volunteered to select the problems and make the contest. In hindsight, this contest structure really wasn’t a good idea; we should have either used the NAQ, like many other schools did, or run multiple contests to get a more complete picture of people’s ability levels. The single-contest structure ended up producing some funky results that would ultimately cause the chaos that ensued at last weekend’s regionals. Nonetheless, we moved forward with this single-contest structure, and I was personally really excited for it: I had done a fair amount of Codeforces rounds in the past several months, but outside of that, I hadn’t done a major one-time contest like ICPC since nationals last year. I was expecting to get 2nd or 3rd, maybe 1st if I had a good day. I got a good sleep the night before the contest, I did a lot of practice leading up to it, and I was ready to do my absolute best in the contest. The contest comes along and… I get 16th place. Out of only Berkeley competitors. I barely even made it onto one of the teams that we sent to regionals, even though I had gone to nationals the year before! I definitely had a bad contest, but it also showed that we had a lot of really strong competitors – we had 33 total competitors, so we unfortunately had to cut nearly half of the people interested in ICPC Regionals.

After the competition, we immediately went to select teams. Myself and several of the other club officers selected the teams based on selection contest results and other factors, such as Codeforces rating and past ICPC performance. Due to my disappointing selection contest performance, however, I knew I had no chance of being on the top team, and we ended up selecting vkgainz, Bungmint, and Badint for what we presumed would be the strongest team we would send to regionals, Berkeley Blue.

Since only one team per school is allowed advance to nationals, I knew at this point that my chance of going back to nationals would be incredibly unlikely, since whatever team I was on would have to beat this insanely strong team of one Grandmaster and two Masters. At this point, I decided the best move would be to form a team with myself (plourde27), yjp20 and voidcs, since the three of us were already friends outside of competitive programming, and I figured we would be able to practice a lot and work really well as a team during regionals. Since the three of us often went rock climbing together, we named our team “Burden of Dreams”, as a reference to the hardest boulder problem in the world. We began the month-long grind for ICPC regionals, doing many team practice contests every week.

On the day of the contest, we woke up bright and early to travel to Chico State for the contest. Since Berkeley Blue was such a strong team, we figured that if we were somehow able to upset them at regionals, that would almost certainly be enough to qualify for nationals, since it was extremely likely that they would both be in the top 5 in our region, and also be the highest-ranked Berkeley team. This created a weird situation where the other schools almost didn’t matter to us; it essentially felt like a 1v1 versus this one team. We begin the contest, expecting to battle it out with this team, and maybe, just maybe, if we had a really lucky day, beat them and go back to nationals.

There are two easy problems, C and J, that we spot right away. My teammates have me code both of them up, since I’m usually the fastest at coding up easy problems. We have a brief snag early on where VSCode takes literally 15 minutes to load and we have to use Vim for the first few problems (I’m embarrassingly bad at using Vim, and this made the start of the contest really stressful for me). Luckily, we push through the IDE issues, and get both of the easy problems after 14 minutes, which puts us in second place in the region, although this is way too early in the contest to read into results too much. Shortly after, I read F and realize that it’s also a fairly easy greedy, and we solve it 37 minutes in (and VSCode finally loaded! after a full 15 minutes of contest time!). Unfortunately, we run into a bit of trouble after this, as I coded up solutions for both A and B that both had minor WA bugs.

We go a good 2 hours without solving anything new, and our rank drops all the way from 3rd down to around 15th, which was pretty demoralizing. Despite this, around the halfway mark of the contest, we were shocked to see that even though we were behind 4 of the other Berkeley teams, we were somehow ahead of Berkeley Blue! This was truly shocking to us, but we tried to not let these weird results distract us, and we figured Berkeley Blue would no doubt catch up later in the contest.

After this rough 2-hour stretch, we suddenly have a flurry of good luck, where yjp20 comes up with a smart solution to D that passes first try, I fix a bug in my solution to K and manage to somehow get AC first try with a really sketchy bitmask DP solution, and I find a truly hilarious bug in my WA submission to A and get AC on it soon after debugging K. Just like that, we’re back in 3rd place, with the freeze period soon approaching. At this point, we took stock of the scoreboard, and realize that even though we’d focused everything on beating Berkeley Blue, there’s actually another Berkeley team, Golden State Geeks, consisting of linpaws, ss1237, and fatant, who was in 1st place by an entire problem going into the freeze period. Meanwhile, we’re still somehow a full problem ahead of Berkeley Blue.

We go into the freeze period knowing that we likely need to solve at least 2, and probably 3-4 problems in order to pass Golden State Geeks and advance to nationals. We have some good luck right at the start of the freeze period, however, where I add another case to my DP for B and get a truly unexpected AC, to bring us to 7 problems solved, as many as Golden State Geeks, although we’re still way behind on penalty. Meanwhile, voidcs has just come up with a really smart solution to H, and he gives it to yjp20 to code, since he’s good at solving tree problems. During the ~20 minutes it takes yjp20 to code H, I take a look at E, which was an interesting constructive problem. Normally, this is one of the types of problems I’m best at, but I’ve been stumped on this particular problem for the whole contest. Nonetheless, I come up with an idea with about 30 minutes left, but it involves a super gross implementation-heavy solution that I’m not sure we have time to code. Luckily, at this point yjp20 gets AC on H, so we’re now up to 8 problems solved, and we have a legitimate chance of advancing to nationals if we can solve E! I spend the next 25 minutes coding E at one of the fastest typing speeds I’ve ever coded a solution at, but unfortunately, it’s not quite enough. With just a few minutes left, I still have a bunch of tricky edge cases to work out, and it ends up not mattering, since Golden State Geeks solved two problems during the freeze period as well, and they would have beaten us on penalty even if we had managed to solve E.

We finish the contest, and see that we’re in either 2nd or 3rd place depending on how many problems the top Stanford team solved during the freeze period (we ended up getting 3rd). To our amazement, even though we didn’t end up making nationals, we still beat Berkeley Blue, who ended up coming in fourth place with 7 problems solved. What was even more exciting, however, were the results for Berkeley as a whole. Somehow, we ended up placing 4 teams in the top 6, and all 6 of our teams placed in the top 15. While we were obviously really happy with these results, we also wondered if it was in part caused by our questionable team selection contest format decisions, since it’s possible that many of the teams were uneven and could have been paired better.

Even though we didn’t make it to nationals, it was still honestly the most fun competitive programming contest I’ve ever participated in. I had a really great team, the problems were super high-quality (props to the problem writers and judges!), and we had a really fun almost-comeback at the end. I will be rooting for linpaws, ss1237, and fatant at nationals in May, and I’ll be training for next year’s regionals in the fall in the meantime, which will hopefully be just as fun as this one.

Full text and comments »

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

By plourde27, history, 2 years ago, In English

Hello Codeforces!

We are excited to invite you to compete in the California Informatics Competition (CALICO Fall ‘22)! The contest will take place on Saturday, November 26, 2022 from 4:00 p.m. to 7:00 p.m. Pacific Time. Registrations are now open and will be until Wednesday, November 23, 2022 at 11:59 p.m. Pacific Time, so register here while you can! The contest will take place virtually on our custom judge platform.

The California Informatics Competition (CALICO) is a semiannual team programming contest organized by students at the University of California, Berkeley. We create original problems to encourage students to grow their problem-solving skills and learn algorithms in fun and exciting ways. Check out our website to learn more about the contest and join our discord server to get announcements, make teams, hang out, and more!

The contest will be 3 hours long and you can compete solo or in a team of up to 3. There will be around 12 problems spanning a wide range of difficulty from Div 4 all the way to Div 1 and everything in between. Some problems will have bonus test sets, where more efficient or advanced solutions can earn additional points. One or two of the problems may be interactive. Anyone can compete in the contest, but only pre-college students will be eligible to win prizes. We also plan to release editorials immediately after the contest. More details will be released as the contest date approaches.

These awesome problems and editorials are written, prepared, and tested by the CALICO Team, including plourde27, yjp20, spiralsim, TheKingAleks, ss1237, fatant, bradley.louie1, KradecaNaLukcheta, alfphaderp, voidcs, vcivek, skywire2000, and many more!

We’ve had a ton of fun creating these problems! We think there will be something interesting for everyone, regardless if you’re totally new or an experienced competitor.

Good luck on the contest!

Full text and comments »

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

By plourde27, history, 4 years ago, In English

Hello Codeforces!

On Sunday, February 14, at Feb/14/2021 22:00 (Moscow time), the CodeRams Algorithm Contest #2 will occur. This is the second algorithm contest of the year for the CodeRams, my school coding club. The first one was held in December, problems and results from that contest are found here

The contest will contain 9 problems, and you'll have 3 hours to solve them. The first few problems are fairly easy, designed to be solvable by anyone, while the last few are more difficult. The contest will likely be more interesting for users with a rating of under 2100, but anyone is welcome to participate.

Each problem in the contest has a point value, with harder problems being worth more points. Contestants will be sorted first by their total number of points, and then by their solve times, if there is a tie. Some of the problems will also have subtasks and partial scores.

All of the problems for the contest were created and prepared by me (plourde27).

Thanks to galen_colin, Alx, ScarletS, and eggag32 for testing the contest.

Finally, thanks to MikeMirzayanov for the great Codeforces and Polygon platforms. Being able to hold mashup contests on the Codeforces Gym has been really useful for our club, especially since the start of the COVID-19 quarantine.

UPD1: The score distribution is 6 — 9 — 15 — 23 — 24 — 38 — 42 — 58 — 73. Note that some of these problems will have subtasks and partial scores.

Also, sorry for the mistake with the contest time. The contest time currently listed (19:00 UTC) is the correct time.

UPD2: Thanks to everyone who participated in the contest! Congratulations to the winners:

  1. Maksim1744 (solved all of the problems in under an hour!)

  2. PurpleCrayon

  3. cjoa

  4. Sir_Shafi_Fan

  5. ujjwalsingh30

Editorial

Full text and comments »

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

By plourde27, history, 4 years ago, In English

Hello Codeforces!

On Dec/12/2020 22:00 (Moscow time), the CodeRams Algorithm Contest #1 will occur. This is the first algorithm contest of the year for the CodeRams, my school coding club. We've held many contests over the past several months, but since this one is more like a Codeforces round, we've decided to open an online mirror of the contest on the Codeforces Gym.

The contest will contain 9 problems, and you'll have 3 hours to solve them. The first few problems are fairly easy, designed to be solvable by anyone, while the last few are more difficult. The contest will likely be more interesting for users with a rating of under 2100, but anyone is welcome to participate.

Each problem in the contest has a point value, with harder problems being worth more points. Contestants will be sorted first by their total number of points, and then by their solve times, if there is a tie. Some of the problems will also have subtasks and partial scores.

All of the problems for the contest were created and prepared by me (plourde27).

Thanks to Alx, eggag32, ScarletS, blank_manash, Falseeee, Shashwat17, mosemAlanfgar, and galen_colin for testing the contest. Special thanks to galen_colin for helping me fix an issue in one of the problems.

Finally, thanks to MikeMirzayanov for the great Codeforces and Polygon platforms. Being able to hold mashup contests on the Codeforces Gym has been really useful for our club, especially since the start of the COVID-19 quarantine.

The score distribution will be announced later.

UPD: Note that the problems from this contest will be different from our past problems in the Codeforces Gym archive, since those were made for novice-level contests last year and are mainly implementation based.

UPD2: The score distribution is 5 — 7 — 10 — 17 — 24 — 26 — 38 — 47 — 76. Note that some of these problems will have subtasks and partial scores.

UPD3: Thanks to everyone who participated in the contest! Congratulations to the winners:

  1. smax

  2. khikiat

  3. Hrithik.Narang

  4. tejas10p

  5. Manvendra256

UPD4: Editorial

Full text and comments »

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