Привет!
Работа на Codeforces никогда не стоит на месте, и вот пришло время рассказать вам о последних изменениях, ранее не упоминавшихся.
Testlib
- testlib переехал на GitHub, выпущена новая версия 0.9.9 с поддержкой C++11. Добавлены генераторы двудольных графов, корневых и простых деревьев.
Polygon
- Добавлена базовая поддержка групп тестов. Теперь вы можете для каждого теста указать его группу, запускать invocations по группам, добавлены строки с summary по группам на странице просмотра invocation'а. Если для теста указана группа, она появится в дескрипторе задачи (например
<test cmd="gen 1 2" group="testGroup" method="generated"/>
). Эта функциональность может оказаться полезной при подготовке задач для школьных олимпиад. - Добавлена возможность просмотра условий и валидатора задачи/контеста на одной странице. Это значительно упрощает нахождение ошибок в переводах и валидаторе (раньше для этого нужно было открывать их в разных вкладках и постоянно переключаться между ними, что не очень удобно). На странице просмотра условий добавлена ссылка "Review":
На странице контеста соответствующая ссылка находится на боковой панели:
Codeforces
- Теперь пропустить важное сообщение во время раунда стало еще сложнее — сообщения дополнительно показываются с использованием Notification API.
- Исправлен баг в API: в методе
contest.hacks
были перепутаныdefender
иhacker
. - Исправлен баг со сбрасыванием фильтра статуса. Такое иногда возникало когда запрос уходил на другой сервер Codeforces.
- Исправлен баг с переполнением local storage. Если у вас вдруг переполнялся local storage, нужно было выполнить
localStorage.clear();
в консоли браузера. Теперь Codeforces использует local storage аккуратнее. - При взломе задачи теперь подсвечивается синтаксис:
- При просмотре посылки теперь показываются невидимые символы, так как раньше иногда было непонятно почему приходит WA:
Было | Стало |
---|---|
![]() | ![]() |
- Вам больше не требуется загружать изображения на сторонние сайты, теперь вы можете сделать это сразу при редактировании поста. Сразу под содержимым поста вы можете выбрать несколько изображений, для каждого из них сгенерируется ссылка, которую нужно будет использовать для вставки в текст:
- Улучшена возможность категоризации постов, в частности важные материалы (документация, правила и проч.) Codeforces скоро не нужно будет искать в блогах, они будут структурировано доступны на специальной странице.
- Добавлена возможность дать права на редактирование поста списку пользователей, пока такая возможность будет доступна списку авторитетных пользователей, которые смогут самостоятельно вносить правки в посты с документацией, туториалами и подобными материалами.
- Улучшена проверка генераторов на устойчивость: напоминаем, что генераторы при взломах нужно писать таким образом, чтобы при каждом запуске они выдавали один и тот же input, теперь это проверяется более надежно. Не инициализируйте генераторы случайных чисел в генераторах текущим временем!
- Добавлена возможность просмотра истории правок у поста. Историю можно сделать доступной либо для всех пользователей, либо только для редакторов. По умолчанию для новых постов она будет доступна всем. Если вы разрешаете просмотр истории, то при изменении текста вы сможете опубликовать автокомментарий со ссылками на старую версию, новую версию, а также на просмотр изменений.
- Теперь те участники, кто не участвовал в рейтинговых раундах более 6 месяцев удаляются из рейтинга. На них всё еще можно посмотреть по ссылке РЕЙТИНГ (ВСЕ). При подсчете рейтингов стран/городов/организаций они тоже теперь не учитываются.
И это еще не все! В скором времени ожидайте еще больше улучшений, к примеру ведется работа по данному вопросу и не только.
Всё вроде бы круто, но есть одно но — при взломе код слезает и уходит в левый верхний угол, а то и выше самой страницы, на только что прошедшем контесте очень сильно взбесило.
Хотя, может быть, так и было задумано, ибо все 3 попытки взлома я зафейлил, мб это был какой-то знак?..
Еще когда Codeforces гонит и долго грузит) это вообще огонь) Приходится по несколько раз грузить)
I tried hacking today and it took much longer time than usual loading the codes.
I don't know it is because of the updated view of the codes or my connection was slower than usual.
But anyway I think you should give the option for the user to activate or de-activate this feature.
Wow, that is super!
Especially "Fixed a bug about local storage overflow.", "Syntax is now highlighted when you are hacking", "Improved topic categorization," and "we work on rating inflation problem" are changes which should be easily noticeable to everyone :).
I'm happy to hear that issues I brought to daylight like http://mirror.codeforces.com/blog/entry/17872 and earlier http://mirror.codeforces.com/blog/entry/15787 are improved :).
How about adding Rust programming language? 1.0 was released like three weeks ago :)
according to MikeMirzayanov Rust will appear "in time". Also, I personally see no benefits of using it in competitive programming instead of c++. There are lots of annoying things. Non-indexable strings, non-intuitive container interfaces, endless error handling, mess with IO, and of course its famous memory model.
Competitive programming is fun. Rust is fun too.
At least for me, that is the reason :)
Conclusion: competitive programming with Rust is double fun.
later...
Classic.
Спасибо за улучшения! А изменение правила "не засылал — не участвовал" планируется? :)
Если человек ни сделал не одной попытки, то он не участвовал.... В списке соревнования этот участник не числиться, рейтинг не изменяется...
"Syntax is now highlighted when you are hacking"
Awesome!!
Есть еще такое пожелание про тренировки. Я говорю о тренировках, для которых указан момент старта, как это мы делаем каждые полгода. Сейчас до момента старта существуют три возможности:
Хотелось бы получить такой режим:
I know for a fact that when you are submiting and your program fails on the sample test, that would not count as a fail attempt.
Can you make it so you can see the example testcases when you submit you code during the contest? For ex. I wasted ~20 minutes yesterday because i was printing with cerr, and yes, it failed on the first example (the one in the problem) but i didn't knew why.
And offtopic: I don't know why, but G++11 4.9.2 on CF doesn't recognise std::to_string .. even after i included string.
it's works only on Linux. I don't know why(:
It seems to be a known bug of MinGW. source
You can always use 'custom invocation' tab during the contest.
Does hacking still need Flash to be installed?
you could check tomorrow))
CodeForces is nice. and it's going to become better than nice ;)
The "link to comment" (which looks like #) heads to "http://mirror.codeforces.com/blog/entry/(BLOG_ID)?#comment_(COMMENT_ID)", so whenever I click it, it reloads the whole page, as the link is different from the current one ("http://mirror.codeforces.com/blog/entry/(BLOG_ID)") Could you please fix this?
Автокомментарий: текст был обновлен пользователем MikeMirzayanov (предыдущая версия, новая версия, сравнить).
Auto comment: topic has been updated by MikeMirzayanov (previous revision, new revision, compare).
Было бы круто иметь интерфейс чтобы сразу обе языковые версии поста исправлять.
Потому что сейчас забыть легко, а рассинхронизированность не сразу заметишь
Специально ли сделано так, чтобы показывался не сам текст потенциально взломанного тобой кода, а картинка (некопируемая)?
Да, чтобы нельзя было запустить стресс-тест со своим решением.