Автор Wild_Hamster, история, 9 лет назад, По-русски

Приветствую сообщество Codeforces.

18 июня 2015 года в 19:30 MSK состоится очередной раунд Codeforces #308 для участников из второго дивизиона. Традиционно, участники из первого дивизиона могут участвовать в соревновании вне конкурса.

Это мой второй Codeforces раунд(первым был раунд Codeforces Round 280 (Div. 2)). Надеюсь, он вам понравится.

Большое спасибо Максиму Ахмедову (Zlobober) за помощь в подготовке задач, Марии Беловой (Delinur) за переводы на английский, Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon.

Участникам будет предложено пять задач и два часа на их решение.

UPD: Разбаловка стандартная: 500-1000-1500-2000-2500.

UPD: Поздравляю победителей:

  1. Ttocs45

  2. RNS_JKS

  3. RNS_CUS

  4. kouekosita

  5. grenade

UPD: Контест закончен. Всем спасибо за участие :)

UPD: Разбор задач

Полный текст и комментарии »

  • Проголосовать: нравится
  • +204
  • Проголосовать: не нравится

Автор RussianCodeCup, история, 9 лет назад, По-русски

Всем привет!

Чемпионат Russian Code Cup 2015 приближается к финишной прямой. В ближайшее воскресенье 14 июня в 13:00 состоится отборочный тур RCC-2015. В отборочном туре примут участие 604 лучших по итогам трех квалификационных раундов — борьба была такой напряженной, что в первой и третьей квалификациях 200-е место оказалось поделено, и в отборочный раунд прошло по 202 участника.

Обратите внимание, что отборочный тур длиннее квалификационных и продлится 3 часа.

По итогам отборочного раунда 200 лучших раунда получат фирменную футболку наших соревнований, а топ 50 участников пройдут в финальный раунд и получат возможность сразится за ценные призы. Финал состоится 19 сентября и, как и в прошлом году, пройдет онлайн. В соответствии с правилами соревнований в финал могут пройти только те, кому на момент проведения финала исполнится 18 лет.

Приглашаем квалифицировавшихся принять участие в отборочном раунде, а всех остальных поболеть за своих друзей на сайте http://russiancodecup.ru!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +33
  • Проголосовать: не нравится

Автор allllekssssa, история, 9 лет назад, По-английски

Hello Codeforces community !

I am glad to announce Codeforces Round 307 (Div. 2) on 12th of June at 19:30 MSK. Authors of this contest are Nikola Mandic (nikola12345) and Aleksa Plavsic (allllekssssa). This is our first round and we really tried to make interesting and solvable problems. Traditionally Div.1 participants can take part out of the competition ( personally I believe that the problems are worth to Div 1 participants, and nobody can solve everything in 20 minutes ). This is the first Serbian round and we want to invite our friends from Serbia to take part in this round and maybe prepare some of next rounds.

The main character of this round is gonna be GukiZ ( our proffesor of computer science ). He really helps us to become better people and developers !

We want to thank Zlobober for help in preparing contest and great advices, Delinur for translating problems statements into Russian and MikeMirzayanov for fantastic Codeforces and Polygon platform !

We wish you great fun, a lot of Successful hacks, Accepted solutions and high rating !

UPD: Scoring distribution: 500 — 1250 — 1750 — 2000 — 2500.

UPD2: Due to technical reasons round was delayed by 10 minutes. Stay tuned!

UPD3: +5 minutes. Thanks for your patience!

UPD4: System testing is complete, but the rating update won't be that fast since we are working on improving our cheater catching system. Thanks for your understanding!

Congratulations to winners!

DIV 1:
1.MrDindows

2.kennethsnow

3.ecnerwala

4.I_love_Tanya_Romanova

5.Hasan0540

DIV 2:
1.hrzhrz_hrzhrz

2.slo

3.wangjing

4.cyber_tourist

5.Moose_Lee

Thanks to all participants. We hope you have a good time and learn something new.

UPD5: Link of editorial !

Полный текст и комментарии »

  • Проголосовать: нравится
  • +323
  • Проголосовать: не нравится

Автор I_love_Hoang_Yen, история, 9 лет назад, перевод, По-русски

Если вы написали несколько задач и подготовили для них тесты, вероятно, вы будете крайне неприятно себя чувствовать, если какие-то из тестов окажутся некорректными (в том смысле, что они не будут согласованы с условием задачи): значение какой-то величины будет больше допустимой верхней границы для нее, граф не будет удовлетворять требованиям связности или же не будет являться деревом... Это естественно, что вы будете себя так чувствовать. Даже опытные авторы задач не застрахованы от ошибок (это случается даже на самых престижных соревнованиях: пример тому — финал чемпионата мира ACM ICPC 2007 г.)

Настоятельно рекомендуется писать специальную программу (называемую валидатором), чтобы формально проверить каждый тест на соответствие всем требованиям условия задачи. Валидаторы обязательны для задач, которые готовятся для Codeforces. Polygon имеет встроенную поддержку валидаторов.

Написать валидатор с помощью testlib.h на самом деле очень легко.

Пример

Ниже приводится валидатор, который мог бы быть написан для задачи 100541A - Stock Market:

#include "testlib.h"

int main(int argc, char* argv[]) {
    registerValidation(argc, argv);
    int testCount = inf.readInt(1, 10, "testCount");
    inf.readEoln();
    
    for (int i = 0; i < testCount; i++) {
        setTestCase(i + 1);
        int n = inf.readInt(1, 100, "n");
        inf.readSpace();
        inf.readInt(1, 1'000'000, "w");
        inf.readEoln();

        inf.readInts(n, 1, 1000, "p");
        inf.readEoln();
    }

    inf.readEof();
}
Оригинальный валидатор, использующий более старые версии testlib.h

Самое замечательное в этом валидаторе то, что он очень простой, и в нем очень трудно написать что-то неправильно.

В репозитории Github можно найти другие примеры валидаторов.

Функции и методы

Первая строка вашего кода должна содержать вызов registerValidation(argc, argv): немного магии, и вы можете использовать необходимые методы.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +182
  • Проголосовать: не нравится

Автор Monyura, история, 9 лет назад, По-русски

Codeforces, привет!

Я рад анонсировать Looksery Cup 2015, над подготовкой которого работала целая команда наших сотрудников, каждый из которых внес огромный вклад: Sfairat, olpetOdessaONU, Sklyack, MrDindows, Rubanenko, Krasnokutskiy, 2222, Maxim, Avalanche, Igor_Kudryashov, Kepnu4 и я. Отдельное спасибо координатору Zlobober за помощь с задачами и советы, а также Delinur за перевод условий.

Мы подготовили для вас 8 задач различной сложности, которые будут расположены в случайном порядке. Раунд будет длиться 2 часа 30 минут и пройдет по правилам Codeforces с плавной динамической стоимостью. Очень надеемся, что задачи понравятся и вы получите удовольствие от соревнования, а мы получим мало кларов :)



Топ-200 участников соревнования получат именные футболки с их хендлами на Codeforces:

Как сообщалось в предварительном анонсе, победитель соревнования получит возможность поехать в полностью оплаченное путешествие в Сан-Франциско.

Кроме этого, топ-15 участников получат Oculus Development Kit 2.

А участники с 16 по 50 места — гаджет Ollie.

Также хочется выразить большую благодарность MikeMirzayanov и всем, кто трудится над Codeforces и Polygon — ваш вклад в образование и развитие IT сферы трудно переоценить, я думаю все со мной согласятся.

UPD. Раунд будет рейтинговым для обоих дивизионов.

Ждем вас завтра,

Looksery Inc.

UPD3. Появился разбор

UPD2. Рейтинг будет пересчитан сегодня, но завтра могут произойти небольшие изменения, не пугайтесь

UPD. Раунд завершился, всем спасибо, что приняли участие. Поздравляем победителей! Окончательные результаты будут объявлены в течении суток, после определения читеров. По предварительным результатам top-15:

  1. tourist
  2. scott_wu
  3. Petr
  4. Haghani
  5. jqdai0815
  6. PavelKunyavskiy
  7. W4yneb0t
  8. vepifanov
  9. LHiC
  10. Gullesnuffs
  11. simonlindholm
  12. subscriber
  13. Shik
  14. izban
  15. data_h

Полный текст и комментарии »

Анонс Looksery Cup 2015
  • Проголосовать: нравится
  • +1426
  • Проголосовать: не нравится

Автор kuviman, история, 9 лет назад, По-русски

Привет!

Работа на 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 месяцев удаляются из рейтинга. На них всё еще можно посмотреть по ссылке РЕЙТИНГ (ВСЕ). При подсчете рейтингов стран/городов/организаций они тоже теперь не учитываются.

И это еще не все! В скором времени ожидайте еще больше улучшений, к примеру ведется работа по данному вопросу и не только.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +505
  • Проголосовать: не нравится

Автор ADJA, 9 лет назад, По-русски

Привет, Codeforces!

Мы рады сообщить, что 4 июня в 19:30 MSK состоится раунд Codeforces #306, авторами которого являюсь я (Адилет Жаксыбай), и Тимур Сытдыков (Timur_Sitdikov). Раунд будет рейтинговым для участников второго дивизиона, участники первого дивизиона могут, как обычно, поучаствовать в нем вне конкурса.

Хочется выразить благодарность всем тем, кто помог нам с подготовкой раунда: Максиму Ахмедову (Zlobober), который помог нам с подготовкой задач, Бекжану Касенову (BekzhanKassenov) и Сергею Лазареву (SergeyLazarev), протестировавшим контест, и Марии Беловой (Delinur), которая перевела условия на английский язык. Отдельное спасибо Михаилу Мирзаянову (MikeMirzayanov) за создание платформ Codeforces и Polygon.

Кстати, насколько нам известно, Timur_Sitdikov — первый участник с Узбекистана, принявший участие в подготовке Codeforces раунда. Мы надеемся, что все пройдет хорошо :)

Всем удачи!

UPD Разбалловка будет динамической.

UPD2 Разбор можно найти здесь.

UPD3 Поздравляем победителей:

  1. mff

  2. I_Love_Nodir.Daminov

  3. tun

  4. I_love_Ngoc_cmn_Thuy

  5. goodhope

Раунд закончен, спасибо всем, кто принял участие!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +311
  • Проголосовать: не нравится

Автор Slamur, 9 лет назад, По-русски

Пару месяцев назад мы провели очередную межвузовскую командную олимпиаду. Тренировка по задачам этого контеста состоится в воскресенье, 7 июня, в 13.00 по Московскому времени.

Авторами задач данного соревнования являлись Sinner, dalex, Slamur, также неоценимую помощь в подготовке оказали craus, Shlakoblock и I_love_natalia.

Зайти в контест вы сможете на этой странице: Тренировки Codeforces

Список предыдущих наших контестов:

Полный текст и комментарии »

  • Проголосовать: нравится
  • +86
  • Проголосовать: не нравится

Автор popoffka, 9 лет назад, По-английски

Rules

The draft for this year's rules is available on the competition website.

As it is highlighted, there are two important changes. First of all, it is officially confirmed that Java is among the languages that can be used at IOI 2015. Secondly, since the JVM uses threads "under the hood", threads are now allowed for submissions in any programming language, but the runtime of a solution is counted as the sum of the runtime of all threads.

I don't think that these changes are really significant to any participants not using Java, because there is no point in using threads if the runtime for each thread is counted separately.

The rules promise "generous time limits", which is interesting, because experience shows that Java solutions tend to be slower even when simple wall time is considered, but counting all the JVM threads separately could result in an even more significant slowdown (compared to other languages).

I'm a little bit concerned that this might mean that we're going to see 20s time limits again (and, consequently, long testing queues, just like during IOI 2013). This happened at the Baltic Olympiad in Informatics this year, where the jury had "optimal" Java solutions working for ~10-15s on maxtests, while C/Pascal solutions spent less than 0.5s, and the TLs were nevertheless set at around 20s (which did make feedback unavailable for a short period of time during the contest, but the jury dealt with it quickly).

Another change in rules which surprised me a bit is that the graders are not guaranteed to use the same hardware as contestants' machines. But then again, with full feedback on 100 submissions per task, perhaps this is not a very serious issue.

Syllabus

The IOI syllabus is a document describing topics (most importantly, algorithms) which IOI participants are expected to know, as well as those that must not be necessary to solve an IOI task.

The new version of the IOI syllabus is already available, and a list of changes should be available soon on misof's IOI Syllabus page.

Meanwhile, most of the changes in the syllabus appear to consist of moving stuff from "Explicitly excluded" to other parts of it, most often "Excluded, but open to discussion". I understand this new category as "these are still excluded, but we should consider including them in IOI 2016 or later", although one should be cautious with this, since the syllabus is not binding for the task authors anyway, so, if someone comes up with a really cool task concerning an excluded topic, it could theoretically be allowed, especially if the topic is "open for discussion".

Another interesting change is that planar graphs were moved from "explicitly excluded" to "included, not for task description", although planarity testing is still excluded. Bipartite matching was also moved from "explicitly excluded" to "included, not for task description", and maxflows and strongly connected components are now "excluded, open for discussion". Balanced binary search trees are now included, and string hashing is "excluded, but considering inclusion".

I hope that this overview of the changes will be useful to other IOI participants (or teachers, or spectators), and I'm looking forward to hearing more information from the organizers.

The changes in the syllabus seem to reflect the fact that with every year, more and more algorithms are becoming "widely known", and the olympiad organizers are trying to reflect this, which means that the olympiad is getting harder over time. Perhaps the organizers have decided that now is the right time to formalise this by including more advanced algorithms in the syllabus (as hinted by the results of the participant surveys in 2013 and 2014). However, at this particular moment, most of the changes seem to be in the "excluded, but open for the discussion" category, and it is certain that many discussions will be held on this topic, both at IOI and outside. Perhaps a part of this discussion might happen right here, on Codeforces.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +251
  • Проголосовать: не нравится

Автор nicolas.chabanovsky, 9 лет назад, По-русски

Привет! Меня зовут Николай, я евангелист Stack Overflow на русском.

С радостью спешу сообщить, что совсем недавно был запущен Stack Overflow на русском по адресу http://ru.stackoverflow.com/. Stack Overflow на русском — это инициатива команды Stack Exchange, автора англоязычного Stack Overflow.

Сегодня на сайте обсуждается в среднем восемьдесят вопросов в день, а само сообщество входит в десятку крупнейших во всей Сети по количеству вопросов. Было бы здорово видеть еще больше интересных тем, особенно касающихся нетривиальных олимпиадных задач. Решая такие вопросы на Stack Overflow на русском, мы не просто делимся знаниями с коллегами, но и стимулируем интерес всего экспертного сообщества к спортивному программированию в целом.

Имея перед собой прекрасный пример русскоязычного раздела на Codeforces, можно с уверенностью утверждать, что Stack Overflow на русском может стать весьма востребованным ресурсом среди знатоков программирования (более подробное обоснование).

Буду рад услышать ваши отзывы и предложения!

С уважением,
Николай

Полный текст и комментарии »

  • Проголосовать: нравится
  • +170
  • Проголосовать: не нравится