I finally decided to write some response/explain my view after all recent discussions of my problems and rounds I coordinate, and I would like to make a few points.
1. After some recent contests there were a lot of comments saying that Data structure problems should appear as easy problems (say, D2A-D2D in a Div2 of $$$6$$$ problems)
I don't think I agree with this. To begin with, I don't think that having Data Structure problem is a requirement for a good contest at all, not just in first few positions.
However, for positions D2A-D2D, I just don't see a way to properly include data structure problems. Take some Data Structure problem, it consists from two parts:
- Knowing/implementing the Data Structure
- Actually thinking about the problem, and how this Data Structure should be applied
The problem is, that even the simplest Data Structure (say, Segment Tree), makes the first part already at least D2D difficulty in a Div2 of $$$6$$$ problems. Now, if the second part is completely trivial, then the problem shouldn't be used in official CF contest (maybe in Educational Round only): implementation part can't be much harder than thinking part. If the second part isn't trivial, the problem can't be less than D2E. Therefore, I can't really see how can Data Structure problem appear on positions D2A-D2D.
Remark: Here I don't even count sets/maps as Data Structures.
2. A lot of people lately are sad because graphs, dp and all other topics don't appear now. Only constructives and ad hocs are left!
To begin with, this is not true. All topics appear! I went through last $$$3$$$ Div2 contests I coordinated. Among them:
1363D - Guess The Maximums is binary search problem.
However, it's somewhat true that easier problems are more often not related to these concepts. From my perspective, the reason for this is similar to the reason I provided in argument above: it's
impossible hard to create an interesting DP/Binary Search/Graph problem which could fit positions D2A-D2C. Just because that concepts themselves are already quite challenging.
And I don't want to accept standard problems on DP/Binary Search/Graphs just to make the set more diverse or because you want it, and won't do so, I think.
3. While I understand that many people really like these topics and want them to appear as early problems, I believe that a lot of this feedback is coming from participants who learned some new algorithms/techniques and are sad when
they don't become red they don't see these problems in contests.
Well, from my perspective, CP isn't about knowing algorithms, it's more about solving problems. Algorithms are tools. Knowing many algorithms means that you have a lot of tools, but if you don't know how to apply them, this won't help. That's why you should learn how to solve problems, not just learn algorithms.
4. Some people think that contests by me/coordinated by me aren't diverse enough, and contain too many constructive problems.
And well, I agree with this. I also believe that having too many constructive problems is not a good thing for a contest. From this perspective, Codeforces Global Round 9 wasn't very good. I also believe that the problemsets should be more diverse. However, when choosing between having less diverse problemset and accepting fairly standard problem, I will always prefer first.
Still, this is a valid objection. I will try to make problemsets more diverse :)
5. Some people think that I just won't accept Data Structure/Flow/Some string structures/Anything except ad hoc.
This is a very wrong point of view. I will accept problems in which idea is interesting enough. The problem is: it's much harder to create a problem on these topics which would at the same time be interesting than creating a good ad hoc problem. It seems that CP has evolved significantly in recent few years, and some things which weren't standard $$$4$$$ years ago, are very standard now. So yes, the reason why good nonstandard problems on these topics appear less now, is that there aren't many of them in proposals! However, still, expect to see some problems on these topics in future contests :D
6. While I understand people who say that it's sad when algorithms don't appear in contests, I don't think I understand people who get joy from struggling with implementing some problems. I am not against problems with quite long implementation, as long as implementation difficulty is smaller than the thinking difficulty. My opinion is best expressed here:
7. I would like to thank:
- People who provide objective criticism
- People who support my position
- MikeMirzayanov for great systems Codeforces and Polygon