ICPC 2026 Domestic Qualifiers Participation Report
Introduction
It’s me.
On July 3rd, I participated in the ICPC Domestic Qualifiers as part of team WaSanBon (Twil3akine, Caffeineholic, Akagi_Shrine).
Related Links
- Standings
- Problem List
To get straight to the point, we solved only two problems, A and B. I have absolutely no intention of insulting my teammates (in fact, I am full of gratitude toward them), but personally, this was truly a disgrace.
I feel so pathetic that I’m at a total loss for words. I feel like I could spend a whole day talking about “what if I had done this” or “if only I had done that.”
I acted as the general consultant for the team and was responsible for analyzing problems C and E.
If I were better at implementation, I would have wanted to implement everything myself… I’m truly frustrated.
Problem A: “Find the Strongest Card”
The task is to output the strongest card for a game of Daifugo from a given set of cards.
Letting the number on the card be , I defined the value used for comparing strength as follows:
I selected the card that maximizes and output its original number. In the implementation, if the maximum value was or higher, I subtracted ; otherwise, I output it as is.
After the contest, I heard a solution that suggested “if 1 or 2 is present, output the stronger of the two; otherwise, output the maximum value,” and I thought that was quite clever.
Problem B: “Vending Machine”
By placing a vending machine, you can cover doors within distance from the installation point. The goal is to find the minimum number of vending machines required to cover all doors.
Initially, I misread the problem, thinking that “a vending machine must be placed between every single pair of doors,” which caused a bit of a time loss.
Let the positions of the doors in ascending order be . If the leftmost door not yet covered is , placing a vending machine at allows us to cover up to the right edge at .
Therefore, it can be solved using the following greedy approach:
- Set and the answer to .
- Using as the left edge, place a vending machine at .
- Skip all doors that satisfy .
- Increment the answer by , and if there are unprocessed doors, return to step 2.
I’m glad I was able to move to the correct strategy quickly once I realized my misreading.
Problem C: “Water Remaining”
My poor reading comprehension skills were on full display here, and I couldn’t understand the problem statement at all. After racking my brain, my thoughts got locked into the idea that “some kind of convexity must be involved.”
After the contest, I talked to members of other teams and found out that it could be solved simply by performing a process once from the left and once from the right: “looking from above, remove water from each cell until it hits a wall.” I felt truly miserable.
This was entirely a failure of analysis on my part. I feel very sorry for my teammates.
It felt so difficult that I thought this year’s “heavy implementation” slot had moved to Problem C. In reality, it was just my analytical error.
Problem D: “Frequency Sequence”
I was hardly involved in this problem, but it seems my analysis was mostly correct. If I had finished analyzing Problem C smoothly, I think we might have been able to solve this too…
Regarding the content, it has a structure like a group sequence, and it seems case handling is required based on the relationship between and .
Problem E: “Shopping Master”
The more I thought about it, the more it seemed like a greedy approach would work.
Let be the set of all bottles and be the set of bottles with gems. The set of bottles without gems is the complement . Also, let be the minimum cost of a bottle with a gem.
During the contest, I considered the following cases:
- If : By buying one bottle with a gem, you can get all bottles, so the cost is .
- If : Since gems cannot be used, the cost is the sum of all bottle prices.
- Otherwise: The sum of (to secure the number of bottles that can be bought with gems) and the costs of the bottles bought with coins.
It turns out that if I had refined the “otherwise” case a bit more, I could have reached the correct answer. It is a deep regret of mine that I couldn’t allocate enough time to this.
Problem F: “Optimizing a Map Application”
I thought about using BFS, but since it’s an square grid, I withdrew.
I’m sure there’s some absolutely clever method out there…
Closing Thoughts
I didn’t even get a chance to look at Problem G or beyond.
Before I knew it, next year will be my last year to participate in ICPC.
I’ll be a first-year Master’s student (M1) next year. I want to go to Yokohama next year. I intend to work seriously hard this coming year.
Including proper team practice and all that…
Also, when is ICPC finally going to let us use Rust?