This month the problemset was a bit easier than usual, so I decided to make scorable the same 10 problems for both div1 and div2. That also makes it easier for recruiters to compare the performance of div2 coders with respect to div1.
The testing phase was very smooth, @theoneyouwant and @aryanc403 found bugs in some of the problems and suggested some subtasks. Maybe to reduce the work load, we should always have two testers for long contests?
BOLT, SSCRIPT, SOCKS1: In the last long contests, there was always one okayish problem that I also included in div2, however this time I found the three problems very trivial.
SDICE: The arrangement of dice and their orientation is very intuitive, it requires a bit of casework.
KAVGMAT: During the review, Um_nik found the linear solution. However it is very hard to distinguish the logarithmic factor, so we just allowed N^2 log N solutions.
MEXSTR: I feel it is easier than KAVGMAT. Can you solve the version with substrings instead of subsequences? It seems some contestants solved that version during the contest.
BOOLGAME: The contestants found a much easier solution than the intended one. Probably we’ll get a harder version in a future contest!
TREEPERM: The initial proposal asked only to find any solution. I suggested many variants, the author was able to solve the counting one.
CHAOSEMP: @jay_1048576 always invents nice interactive problems! It seems he gets most of his ideas from games, this one is based on the 2003 video game Project IGI 2.
PAIRFLIP: During the review I found the problem interesting, the covering with paths of length 2 arises naturally from a problem of operations on matrices. Um_nik disagreed though, it turns out the covering problem is well known, and there are some timus and atcoder problems that require similar ideas. I suggested including different costs per operation, but we couldn’t solve it. It is hard even in the case with only two different costs, one for rows and another for columns.
STRPOW: If you see a problem by @samarth2017, then it is about fft and polynomials Um_nik found a more optimized solution that allowed us to increase the constraints.
SHRINES: The majority strategy is in the folklore of graph theory, and is a very natural idea when trying to find the median sets and centroids on trees. The dual of the given graph is median and the same strategy works. I think the solution is a bit guessable, I expected much more ACs. Initially I planned to directly give the dual, however while generating tests I liked the algorithm that finds faces by keeping the paths of open regions.
WTRSORT: It is based on the android game Water Sort. I had the feeling it could be converted in a Chemistry problem by including information about possible reactions and densities of the reagents. At the end we just added operations to increase the height of tubes and reverse the order of reagents.