As 2024 nears its end, let’s share the problems we enjoyed the most this year so far! Drop the problem name, link and what made it special (optional).
# | User | Rating |
---|---|---|
1 | jiangly | 3898 |
2 | tourist | 3840 |
3 | orzdevinwang | 3706 |
4 | ksun48 | 3691 |
5 | jqdai0815 | 3682 |
6 | ecnerwala | 3525 |
7 | gamegame | 3477 |
8 | Benq | 3468 |
9 | Ormlis | 3381 |
10 | maroonrk | 3379 |
# | User | Contrib. |
---|---|---|
1 | cry | 168 |
2 | -is-this-fft- | 165 |
3 | Dominater069 | 161 |
4 | atcoder_official | 160 |
5 | Um_nik | 159 |
6 | djm03178 | 157 |
7 | adamant | 153 |
8 | luogu_official | 151 |
9 | awoo | 149 |
10 | TheScrasse | 146 |
As 2024 nears its end, let’s share the problems we enjoyed the most this year so far! Drop the problem name, link and what made it special (optional).
Name |
---|
2044F - Easy Demon Problem Quite an interesting problem, looked really hard but had an easy mathematical solution (Do give it a try if you haven't).
Would you mind giving some hints about it?
Think about how you could decompose the query that you have been given into parts that you can correlate with the orignal input.
Try factoring
Indeed, this is one of the best questions I came across this year.
1933E. Xor-Grid Problem It demonstrates the magical nature of XOR operations, completing the missing rows and columns in an array.
1919D — 01 Tree Everything fits so nicely together!
1878F - Vasilije Loves Number Theory
2029C - New Rating Although dp is easier to think here, the bin search solution is really satisfying.
1843E — Tracking Segments binary search on the prefix sum!
https://codeforces.net/contest/1931/problem/F It was such a nice thing to use cycle detection in a statement like this.
Universal Cup 3.11 O - New School Term
I enjoyed being trolled by this problem. The final observation is so natural, yet so invisible. As far as I know, some LGMs were also trolled.
Can you share the observation? My idea is a bit ugly.
I have a straightforward $$$O(n^2 \sqrt n \log n / w + m)$$$ solution. Try adding edges to a graph in decreasing order of index. Check if it is possible to add the current edge to the graph, such that it remains bipartite. If the current edge will destroy this property, then skip it.
Let the value of the component be abs((number of nodes in the first group) — (number of nodes in the second group)). You want to find if you can have a sum of 0 by multiplying some of the values of the components by $$$-1$$$. There are at most $$$n - 1$$$ edges that can merge two components. For each of these edges, you run a DP.
If the edge is wrong, it connects nodes of the same color. So you can merge the two components anyway.
I feel so stupid now ;-; Thanks!
do you know how can i participate in this cup ? and if iam not a high rated one can i ?
1977D - XORificator never seen this trick before and thought it was unsolvable before seeing the tutorial
1830C - Hyperregular Bracket Strings uses something similar as well (not from 2024 though)
https://codeforces.net/problemset/problem/2042/E
ARC171E — Rookhopper's Tour
The setting feels very chaotic to me initially, but after thinking it though, it turns out there exist an elegant way to analysis the problem model very simply to make it solvable. It's just... astonishing!
https://codeforces.net/contest/1991/problem/H
D. YEET!
Not because I'm the author , but because the non-randomized solution is really satisfying and cool !
For Problems I solved , hmm
B. Shohag Loves Strings is cool.
D. Harder Problem is indeed a nice "harder" trolling problem .
https://codeforces.net/contest/321/problem/C
My 1st and only centroid decomposition AC
It's on -68
One more downvote plz :)
Whoever upvotes before reaching -69 is gay
I don't know about best problem, but worst problem of the year is definitely problem C in APIO, the problem sucks A LOT
All of the median related problems which appeared in late 2024
IOI 2024 Tree was nice.
2034F2 - Khayyam's Royal Decree (Hard Version) deepened my understanding in combinatorics, I found the connection to Principle of Inclusion-Exclusion especially nice
1930G - Prefix Max Set Counting. After you realize that there's a natural ordering of the subtrees based on their max element, the way the solution comes together is incredibly satisfying--solving the problem from there felt like entering a flow state. Thanks to satyam343 for the great problem!
I think I forgot to post problems for the last few years, so I'll share belated choices for 2023 and 2022. My favorite problem of 2023 by far was 1889D - Game of Stacks. The cycle observation was incredible--as I wrote after the contest, "I spent several minutes thinking to myself about how cool that observation is before going to implement." Stylistically, I also enjoyed that the problem really was just about that one observation--there was one idea, that idea turned out to be really cool, and then it wasn't bogged down in unnecessary details or implementation. Thanks, waaitg!
I don't have as clear of a favorite for 2022, but I'm pretty partial to USACO Hoof and Brain. It was a very tricky problem solved by relatively few students in a five-hour contest, but the solution is simple enough that I think it could be explained to someone with essentially no competitive programming experience. It's also a nice application of the strategy of identifying trivial cases and removing them in order to impose new constraints on the input that turn out to make the problem easier. Thanks, Tlatoani!
Funny thing actually. I distinctly recall discussing this problem with nickbelov when he was only 2 months into competitive programming / contest math stuff in general. He understood basic game theory and derived the high level solution by talking about "merging clouds" of states which is precisely what the editorial solution is. The only issue was implementation details, since I don't think he's seen that sort of DSU direct graph-contraction trick before, and was stuck on using BFS to implement his idea lol.
So he is living proof that it can be explained to someone (and even solved) by someone with essentially no competitive programming experience :)
2029E - Common Generator Interested me so much that I spent my entire day just before my end semester exams solving it (only 2100 I have ever solved on my own till now)
Nice problem, I just did it
I personally like solving constructive algo problems. Not sure about which question I enjoyed the most in the year but recently I enjoyed solving https://codeforces.net/contest/2040/problem/C and https://codeforces.net/contest/1375/problem/D
Swap columns and find a path
This problem shows how greedy approaches can be wrong.
Also, try to solve it in O(N) complexity.
966E - May Holidays The problem that combines my two favourite techniques (HLD and sqrt decomp). I had great fun solving it.
Does it use MO with updates ?
No, the problem can be solved online.
Some of my favorites include
1935E - Distance Learning Courses in MAC
1965E - Connected Cubes
1977E - Tensor
1991G - Grid Reset
Of course, I'm a little biased but I also really like 2035D - Yet Another Real Number Problem, 2035F - Tree Operations, and especially 2035H - Peak Productivity Forces from global round 27. :)
2042E - Vertex Pairs
ARC173D
This one was very cute.
AGC069B
The "high level" strategy of focusing on the crosses is already nice, and then the way to model it, a tree on the grid graph, where cells are edges, is insane but makes so much sense.
The one thing that "is not nice" is that when you recurse down to the n=2 case, you can actually just solve it in 2 queries, so I think that tripped a lot of contestants up, but honestly that's still pretty cool.
Stone Catch Game
This one isn't from 2024, but this is just a really neat problem. The solution "makes so much sense" but like, as for how you come up with it, is kind of insane. I went down so many seemingly correct rabbitholes in contest for this.
2029I - Variance Challenge — I think this is the ever best problem of mine!
this is a 3400 rated problem
https://codeforces.net/contest/2030/problem/D Really enjoyed solving this during the contest!
AtcoderWTF2024_B
https://codeforces.net/contest/1624/problem/B
AddMulExp from WWPIT, set by CutSandstone: $$$f(x, n) = 1x^1+2x^2+3x^3+...+nx^n$$$, given $$$x$$$, $$$n$$$, and $$$m$$$, find $$$f(x, n)\bmod m$$$. The solution is very slick!
personal problem list:
Tree chain decomposition: https://codeforces.net/contest/2028/problem/E
dp questions: https://codeforces.net/contest/2028/problem/D , https://codeforces.net/problemset/problem/2025/D , https://codeforces.net/problemset/problem/2041/C
High-Precision: https://codeforces.net/gym/105540/problem/E
graph: https://codeforces.net/contest/2014/problem/E
learning data structures(G1 to G3): https://codeforces.net/contest/2009/problem/G1
magic usage of multiset: https://codeforces.net/contest/2008/problem/E
1994D - Funny Game
2022D2 - Asesino (Hard Version)
1919F2 - Wine Factory (Hard Version)
1975E - Chain Queries
oh, also reason
1994D the way to construct using pigeonhole principle is really fun.
2022D2 I got trolled in optimizing the number of queries when $$$n=3,5,7$$$
1919F2 using segment tree to calculate maximum flow is amazing
1975E I learned the trick to check a chain
https://codeforces.net/contest/2009/problem/F Really loved formulating the answer here. When the solution went from "Running test" to "Accepted", it was definitely one of my happiest moments of Codeforces this years. I don't know why but I just felt proud of solving this question. Here is my solution https://codeforces.net/contest/2009/submission/285274394
1993E - Xor-Grid Problem Great task.
2035F - Tree Operations
2040E - Control of Randomness (have a 2d dp solution to precompute all queries but, it also have a super easy O(nq) solution)
2033G - Sakurako and Chefir
2028E - Alice's Adventures in the Rabbit Hole
1714F - Build a Tree and That Is It
Evacuation plan (IZhO18_plan) It uses very interesting tactics, that I've never seen before, it opened me to the advanced part of cp.
2048D — Kevin and Competition Memories It was an interesting problem with extensive implementation, but incredibly satisfying when it got accepted.
ARC186A An amazing constructive problem.
2029E for sure.
Solving this problem step by step gives me more satisfaction than I've ever had before.
https://dmoj.ca/problem/ioi24p2
great problem. final observations are really nice.
I might be biased cuz I just saw it yesterday, but I enjoyed Eliminating Balls with Merging: https://codeforces.net/problemset/problem/1998/E1
UCS
https://codeforces.net/contest/2053/problem/E This was the problem in yesterday's contest. I am usually afraid of solving problem >=D (D,E..). However today I was adamant that I will sit at this problem no matter how long it takes. And boom... at first glance what seemed so difficult was doable in about 2 hours.. Loved it. Wish to solve tougher problems in 2025.
https://codeforces.net/problemset/problem/2033/G
I quite liked 1973D - Cat, Fox and Maximum Array Split.
Another one would probably be problem C from Serbian OI 2024 Day 1.
I nominate 2053I2 - Affectionate Arrays (Hard Version) — just look at how much discussion it generates, must be an interesting problem :P