Hi everyone,
after Codeforces Round 889 (Div. 1), maybe it's time to collect all my problems here. For now, I've mainly invented easy-ish problems. I wish to invent a very hard problem sooner or later :)
I'm putting the story of each problem under spoiler, because it may contain parts of the solution. I invented many problems by just trying random setups until I came up with something solvable, but some problems (especially the harder ones, for example 1854D - Майкл и отель) may have more interesting stories.
Fun facts:
- I struggled a lot to find a suitable div2A for Codeforces Round 778 (Div. 1 + Div. 2, основан на Финале Технокубка 2022). I proposed a lot of problems that turned out to be unsuitable (for example, because they were too hard), then I used them somewhere else.
- While I was writing this blog, I realized that 1849E - Максимум справа от минимума is identical to my problem preoii_allenamento - Allenamento su ChinaForces, and I could just copypaste the code. Unfortunately I realized this $$$20$$$ minutes after the start of the contest, and I couldn't get the first AC :D
- Sometimes, if you just remove parts of the statement, the problem becomes better (and sometimes harder)! For example, initially 1854D - Майкл и отель and preoii_statue - Galleria d'arte were relatively easy problems with a slightly longer statement (e.g., in 1854D - Майкл и отель it was guaranteed that the input had a special structure), but making the statement simpler also made these problems more interesting.
- Coming up with a good problem starting from the solution is really hard (at least for me). After failing to generate any difficult problem from the solution, I would say I fully agree with Um_nik's last pro tip.
Authored (roughly sorted by difficulty)
preoii_vm - Aggiornamento della macchina virtuale
cc SUMPRODSEG - Sum Product Segments
cc MXMODSUM - Maximum Pairwise Modular Sum
1855B - Наибольший интервал делителей
terry 2023/3 - Dipingere i muri
cc SEGFAULT - Segmentation Fault
cc SUBARRAYLEN - Subarrays with length
terry 2023/4 - Viaggio intrigante
1909B - Сделать почти равными по модулю
cc ANTIKNAPSACK - Anti-knapsack
ois_fibonacci - Fibonacci Sequences
1854A2 - Dual (сложная версия)
1485D - Делители и степенные разности
1854B - Заработать или разблокировать
preoii_armadio - Evasione dall'armadio
1485F - Копия или префиксная сумма
cc NDANDANDOR - Non-decreasing AND and OR
preoii_allenamento - Allenamento su ChinaForces
cc PERMSEGMENTS - Permutation Segments
1909F2 - Небольшая задачка про перестановки (сложная версия)
1909I - Короткая задача о перестановке
1909H - Сортировка параллельными обменами
Partially authored (roughly sorted by difficulty)
preoii_triplets - Comune di Alleib
preoii_permutazione2 - Trova la permutazione
preoii_sets - Insiemi nell'armadio
preoii_statue - Galleria d'arte
UOI 2023/4 - Array and prefix sums