Добрый вечер, codeforces комьюнити!
Хотя, кого я обманываю, для большинства этот вечер не такой уж и добрый. Почему, спросите вы? Думаю, уже догадались. Да, это очередной раунд от GreenGrape'a!
Всё началось беззаботным воскресным утром. Ничего не предвещало беды. В ожидании вечернего контеста я пересматривал переигровку Winstrike против IG, как вдруг мне в ЛС приходит сообщение всего из 3 слов: "Сегодня раунд грингрейпа". На лбу выступает холодный пот, ты ощущаешь резкую слабость, дрожащими руками набираешь в адресной строке codeforces.com и видишь анонс 505 раунда. Да, это он. С испортившимся настроением ты досматриваешь вторую карту и уже не с таким энтузиазмом ожидаешь новый раунд, который принесёт ещё порцию разочарования...
Закончим с лирической частью, внесём немного конструктива. Для начала я бы хотел отметить, что это не какая-то личная неприязнь или что-то такое. Да, тут будет много субъективности, но я бы не стал писать будь это исключительно моим мнением. Поэтому конкретики.
Я бы хотел разобрать 3 конкретных раунда, в порядке их появления.
Что мы видим с первого взгляда... В топе люди с кучей взломов, задачу 912C - Перун, ультуй! сдало 13 человек (к слову, как и 912E - Простой подарок), на деле это просто кусок реализации. Каждый бы подумал: "Geez bruv, как же хорошо, что я не писал этот контест". Я, увы, писал. Хочу сказать, это было не самое приятное времяпровождение. Что ж, бывает, казалось бы, но не тут то было...
Ещё не все успели отойти от болевого шока, как наш любимый проблемсеттер решил выдать ещё одну БОМБУ! Заглядываем в результаты, а там.. Ой, у людей по 25 взломов. Увлекательные задачи, скажете вы. Реализация, перебор, перебор, жадник скажу я. После этого круг моего общения стал сомневаться в возможностях Андрея как проблемсеттера, но его это не остановило!
Codeforces Round 505 (рейтинговый, Div. 1 + Div. 2, основан на Финале VK Cup 2018)
Именно он стал окончательным импульсом к написанию данного блога. Контест только закончился, поэтому, я думаю, вы ещё не успели отойти от приятного побаливания и жжения в районе пятой точки. Хочу лишь добавить, что за время написания мною этого блога, анонс данного раунда получил уже порядка 150 дизлайков, что говорит о согласии со мной уважаемого комьюнити, так что я просто оставлю это здесь.
В заключение хочу сказать, что GreenGrape -- это человек, не обладающий талантом к проблемсеттингу (прямая цитата). Не самые увлекательные задачи (в который раз не жалею, что перестаю писать раунд до его конца) в купе с отвратительной подготовкой претестов (как и, возможно, тестов, навзламывают ведь!) превращают его раунды в сущий ад. Это абсолютное неуважение к людям, для которых эти раунды готовятся, ведь он умудрился испортить раунд НА ЗАДАЧАХ VK CUP'a! У меня очень много эмоций и пожеланий, но я надеюсь, каждый найдёт в этом блоге отголосок своего внутреннего эго.
С понимаю, что скорее всего получу большой минус, но боже, MikeMirzayanov, остановите это!
Задача про Перуна — моя работа, поэтому не надо выливать по поводу нее хейт на Андрея, разгружайте фуру с дизлайками сюда :)
А мы разве что-то дизлайкаем, кроме его работы?
Ты критикуешь раунд из-за единственной задачи, которую делал я; остальные делал Андрей, и они были очень классные, так что критика того раунда вообще тут неуместна.
А доджить тебя не учили?
Просто у тебя не прокачан софт скиллс, и ты бы ждал своего единственного контеста три года, а у кое-кого прокачан. А как ты хотел, "мир сичас тежол"...
По существу претензий я так и не увидел.
912C - Перун, ультуй! — это не моя задача. Кусок реализации? В разборе есть короткий простой код.
"Реализация, перебор, перебор, жадник скажу я." Не умеешь в жадники и переборы — не решай задачи на жадники и переборы. Или ты считаешь, что задачи такого типа не имеют право на жизнь?
"Не самые увлекательные задачи." Исключительно объективная оценка, спасибо. Выпишу эту цитату на бумажку и повешу на холодильник с подписью "Алексею Корякину не нравятся мои контесты((("
Если вкратце: не умеешь решать переборы и жадники — не решай. Не умеешь решать мои задачи — не решай. Не любишь решать мои задачи — тоже не решай. Иначе что за странный мазохизм получается?
Судя по количеству дизлайков к анонсу, одного холодильника явно не хватит :)
(Не умеешь делать задачи — не делай)
Именно такие раунды заставляют людей бросить спортивное программирование. ЖринЖрапе — главный злодей моего любимого сайта кодефорцез!!!
ЖринЖрапе пыль из под ногтей Бредора
У меня из-за таких раундов брат умер
Ну это смешно.
Рек уже сказал. Конкретно в том раунде проблема была не только в той задаче :)
Я и не решал, это же был твой раунд) А по делу, давать 4 задачи на схожую тематику и говорить, что такие задачи не имеют права жить, немного странно. Всё должно быть в меру. И переборы тоже.
Как я писал, в этом блоге будет присутствовать моё субъективное мнение. К слову, это не оно.
А вот этим советом я воспользуюсь, спасибо!
А в чем там была еще проблема? В хаках?
4 задачи на схожую тематику? Я вижу в том раунде одну задачу на теорию чисел, один жадник и один перебор. В чем они схожи, интересно?
Так это объективное мнение или субъективное? Определись, пожалуйста.
Буду скучать :(
Для меня это первый контест GreenGrape и мне задачи понравились. В отличие от остальных задач уровня Div2, в которых решение очевидно сразу, над этими пришлось подумать — я потратил даже неприлично много времени на решение C, мне она не показалась очень легкой. А чем больше взломов, тем более интересным становится контест.
Сочувствую братан
Уже давно предлагал Майку добавить систему оценок раундов. Ведь несложно попросить участников оценить раунд и каждую задачу в частности (например оценка от 1 до 5 звезд). Как раз для таких случаев они и нужны.
Но тогда ЖринЖрапе бы перестал быть проблемсеттером...
Не выход — как известно самый лучший контест это тот, где ты КРУТО ЗАТАЩИЛ.
Не всегда правда. В 504 у меня упало две самые ценные таски, но от раунда получил удовольствие в любом случае.
Это произведет чистку плохих проблемсеттеров и мой любимый сайт кодефорцез останется без злодеев!!! #ДОЛОЙЖРИНЖРАПЕ
Почему пользователя Irina_Rog забанили на моем любимом сайте кодефорцез???
Ведь именно она была источником положительных эмоций на сайте кодефорцез. А ЖРИНЖРАПЕ злодей и находится на свободе.
Почему мир так несправедлив и жесток???
Мы за справедливость!!!
РАЗБАНЬТЕ РОГ! ДОЛОЙ ЖРИНЖРАПЕ!
Auto comment: topic has been translated by DoomzGay (original revision, translated revision, compare)
Ban greengrape from the codeforces community or atleast from making further contests.
HAHAHA — I think you should be the one banned though. (Cuz your shltposts aren't even funny)
I posted this on the blog post of the round and I'll post it again here.
If you knew that the pretests were going to be weak because of the author or whatever, why didn't you just take the extra 5-10 minutes to do local testing/try to prove your solution is correct?
and what if you didn't know
boom gotem
If you don't know, then it's unfortunate, but getting railed by system tests is kind of the norm here, so taking those extra few minutes to double check your stuff regardless is probably a good idea (even if it's during the last 10 minutes of a contest when you are fairly sure you can't finish another problem).
it's not the norm or people wouldn't be complaining about weak pretests
'cause other participants will not take extra time to check their solutions. So they'll be faster
If you'll always know that pretests are weak (like a TopCoder), you'll check your solutions carefully. Codeforces isn't this one.
If other people don't check their solutions, there's a higher chance they'll fail system tests as well. It's a trade off, and it depends on how risk averse you are. That said, you can actually use empirical evidence (i.e. your past contests) to figure out the rate at which you fail system tests for a given problem (A, B, C, whatever) and use that probability to determine a good length of time for you to devote to local testing.
Say you fail Div 2 B on system tests in 5% of your contests. Then, if in the next contest you are submitting Div 2 B for p points. Your actual expected point value is 0.95p + 0.05·0 = 0.95p, with high variance of course, since you're either getting p or 0. If you want to lower that variance, you can local test/do a proof of correctness for your code until the problem is worth 0.95p and submit any time before that, and that'll lower the variance significantly. Again, depends on how risk averse you are.
That's not the only issue though. It is more likely that some bad solution can pass while others won't because weak pretest.
Doesn't that depend on the strength of the system tests, rather than the strength of the pretests?
That's true, but if participants don't actively hack well enough it could lead to overall weak tests and case where test have to be added after contest before they put in problemset. I think walnutwaldo20 found a case like this contest, which means many people who "solved" the problem actually just got away with incorrect solution.
self-deleted
This has gone too far.
You are getting upvotes because people are disappointed that their solutions did not pass.
But truth to be told, you are not actually making a strong case here. Most of the comments you are making on GreenGrape's past contests are of little substance and boil down to "that contest sucked ballz". The role of hacks and pretests is a subject of debate and I won't comment on that here, but literally nothing you've said can justify "GreenGrape is a person, with no abilities in problemsetting". Especially if most of your complaints are not related to actual problem quality.
It is okay if you didn't like the contest, but seriously, stop with the personal attacks.
I bet you wont have written this comment if your ABCD had not passed in one go. And he is getting upvotes because he made a valid fucking point. Why have pretests then if it all boils down to manually debugging. So why dont you just shut the fuck up and let people decide what is right or not.
Do you know why my ABCD passed in one go? Because I actually bothered to double check and think things through instead of submitting half-arsed crap.
And yes, I would have posted this comment even if all my submissions failed 10 times on pretests and then systests as well. Because I'm not even talking about the weak pretests right now. I'm responding to a personal attack that made more serious accusations than just "weak pretests suck".
Sorry but i dont think he went personal at all. All he said is that greengrape contests are not worth the time and effort of the codeforces community. I don't see anything wrong in it. If he is supporting his arguments with facts and pictures then what's wrong ?
How is that not personal? In my opinion that is horribly offensive. And no, he didn't really support his arguments with facts. Most of the blog just describes how he felt during some past contests.
Pretests are there to check whether the code works for the most basic of tests. Nowhere does it state that they have to include corner cases. Writing a solution that successfully takes the special cases into account lies with the contestant.
Please, show off your toxicity in DOTA chat, not here.
You should have just ignored his problems and done the VK Cup ones.
No disrespect to you , but not everyone is interested in solving problems unless there is a rating factor involved in it.
If he's only interested in rating then why did he give up during the contest?
I personally do not see the point of someone being flamed if you don't like his problem set, or if the problem set actually is bad (by some metrics, and there is no metric all of us can agree upon). In my honest opinion, the problemset wasn't bad at all, pretests were weaker but hey, why is that such a big problem?) but that's not the point here. He, or any problem setter on any competitive programming platform, takes some of his personal time to actually prepare the tasks, tests, and everything that goes with that, trying to actually contribute to the community. There surely are better and worse problems setters, but hey, not all the contestants are LGM too. Everyone can like or dislike the round, but I see no point in talking bad things about someone's contest like you are being forced to participate in one.
I can't believe it how can you be so stupid and mean to write something like this, Do you think the contests are one man preparation??? a lot of people take part in making the round, the problems authors, Codefoces coordinators, testers ... How can you blame just one man !!! You don't know the kind of effort people do to prepare you rounds, and you just come and say this kind of stuff !!!
Now I know the pretests today were bad, and I complained about it too, but all the tasks were interesting, and I really enjoyed them, thank you GreenGrape and for everyone who worked with you, I hope to see more contests from you with better pretests.
What a shitty thing to post.
Freedom of speech and expression. Ever heard of it ?
Being a dick. Ever heard of it ?
Who the fuck is getting personal now nigga ?
I'll restate what joomas said because it seems it didn't get through your thicc skull.
"Freedom of speech and expression" is not an excuse to be an asshole, so don't go around shit talking (and then denying responsibility) and then expecting people to respect you or your opinions.
Although if you had any respect for others, or respect for yourself even (because honestly your posts are cringey and embarrassing AF) you wouldn't post these things in the first place.
While I do dislike a few things that GreenGrape's contest problems have in common (extremely tight constraints, weak pretests), there are quite a few other points to like about his problem-setting as well (clear statements and uniqueness of problems). I believe a blog that ends on a personal attack is uncalled for, And to whoever's resorting to abuse in the comments, cf is a sane and respectful community, please keep it that way. Peace :)
Ok, so it looks like you are indirectly referring to me as the guy who abuses in comments. Let me make some things clear, i dont abuse unless i have been triggered hard by absolute dumbfuckery in rated contests and if i am using expletives, then it is worth to use them. After all expletives are invented for a reason, you know. If not to use them, what is the point of these words to even exist ?
I don't want to fall into debate of this nature, but just as a counterargument, people invented means of drug consumption for getting intoxicated. Does it justify their consumption? Also, there are a lot of platforms where indulging in derogatory behaviour is fine, codeforces is not one of them.
Not justifying the outcome of today's contest, but it's not possible to understand the amount of effort that goes into making contests unless you've been a part of one. I believe you wouldn't have commented in the same manner had you gotten problemsetting experience.
Competitive programming is a sport, few bad contests doesn't have such big consequences that you should end up personally attacking and abusing the setter.
1) i see nothing wrong with getting intoxicated. It's their personal choice, you are nobody to "moral police" them.
2) Using expletives does not qualify as detrogatory behaviour.
3) I know the effort that goes, but aren't they getting PAID for that!! And if you are being paid something, it is expected to deliver something nice and NOT TO REPEAT PREVIOUS MISTAKES.
4) I haven't justified personal attacks anywhere.
Points 1,2,3 unrelated
And point 4 is complete bs, you don't even need to scroll up that much to see it: http://codeforces.me/blog/entry/61324?#comment-452854
And you seem to talk alot of shlt for someone who hasn't even done a single GreenGrape contest. You can't possibly have a complaint about something you haven't tried, can you?
And don't pretend to be "representing the community", because you are honestly a nuisance.