Блог пользователя MikeMirzayanov

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

И снова здравствуйте!

Уже сегодня 5-го мая в 19:05 начнется очередной раунд Codeforces. Да-да, обратите внимание на нестандартное время старта.

Я воспользовался своим служебным положением и теперь вас ждет чуток экспериментальный раунд с расширенным набором задач. Возможно, опытным участникам (извините, Div 1) он покажется простым. В данном случае был сделан упор на основную целевую аудиторию раунда — в раунде будет много совсем несложных задач, но и даже топ второго дивизиона найдет кое-что интересное. Кроме того, одна из задач будет предложена в двух вариантах — в упрощенном варианте с маленькими ограничениями и в усложненном с ограничениями побольше. Таким образом, если вы сразу сообразите решение для больших ограничений, то можете написать один код на оба варианта.

Авторы задач — это я и fcspartakm. Надеемся, что вам понравятся задачи и будет весело и полезно!

Запланированная разбалловка такова:

  • A: 500
  • B: 750
  • C: 1000
  • D1: 1000
  • D2: 500 (то есть полное решение задачи D оценивается в 1500 баллов)
  • E: 2000
  • F: 2500

Удачи!

UPD: Как указали в комментариях с парой смежных задач D1/D2 есть тонкость со взломами.

  1. Для того, чтобы избежать ситуации, что участник заблокировал задачу D1 и подглядел в своей комнате решение к D2, вы сможете блокировать задачи D1/D2 только парно одновременно и только в том случае, если сдали как D1 так и D2. Иными словами, возможность блокировки D1/D2 появляется после сдачи обеих подзадач, блокировка осуществляется одновременно по обеим подзадачам.

  2. Для того, чтобы избежать двойного вознаграждения за взлом как D1, так и D2 у одного и того же участника, участник A в случае успешного взлома участника B по задаче D1 теряет возможность взламывать B по D2. Аналогично, если участник A успешно взломал участника B по задаче D2, то A теряет возможность взламывать B по D1.

UPD 2: Раунд завершен. Поздравляем победителей. Вот герои сегодняшнего дня.

топ-5 официальных участников:

  1. xlk200
  2. TableEnterer_Lin
  3. cykhhq595
  4. xxxholic
  5. A_Navie_Moer

топ-5 внеконкурсных участников:

  1. anta
  2. -XraY-
  3. Um_nik
  4. halyavin
  5. Enchom

UPD 3: Опубликован разбор задач.

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

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

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

Добрый день!

Вот что я точно не люблю, так это стоять на месте. Я регулярно наблюдаю ситуацию, что какие-то небольшие, но интересные сообществу новости не появляются на страницах Codeforces. Конечно, писать полноценные посты о небольших новостях то еще занятие, да и мониторинг жизни сообщества спортивного программирования требует определенной концентрации и усилий.

Я рад представить вам авторский подпроект Codeforces, с незатейливым кодовым названием Codeforces::News. Этот подпроект будет поддерживать и вести студентка факультета КНиИТ (компьютерных наук и информационных технологий) Саратовского государственного университета Ксения gKseni Гусева. Как говорится, прошу любить и жаловать! Ксения пока еще не капитально погружена в жизнь и новости спортивного программирования, но с моей и вашей помощью быстренько восполнит этот пробел. В наших планах — регулярные небольшие тематические новости, иногда анонсы, шутки и напоминания о мероприятиях. Если хорошо пойдет и будет потребность, то будем ретранслировать в соцсети, но пока сделаем небольшой раздел на страницах Codeforces.

Первое время новости будут только на русском языке, а как процесс встанет на понятные рельсы, то многие новости будем переводить и на английский. Надеюсь, вам станет интереснее регулярно заходить на Codeforces, а Ксения постарается чтобы так и было. Кто знает, чем закончится эта затея? Может через несколько лет у нас будет своя редакция и периодическое издание “Codeforces Times”.

М.

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

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

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

Сегодня, 25-го апреля в 18:00, начнется VK Cup 2016 - Уайлд-кард раунд 2.

Участникам раунда будет предложено максимально продвинуться в решении одной сложной и необычной задачи. Официально в этом раунде смогут принять участие команды чемпионата VK Cup 2016, которые прошли в Раунд 2, но не оказались среди тех топ-100 лучших по его результатам, кто проходит в Раунд 3. Кроме того, этот раунд будет открыт для всех желающих для неофициального участия вне чемпионата. Зарегистрироваться на раунд можно будет в любое время пока он идет.

Продолжительность раунда — одна неделя. После ее окончания мы выберем последнюю попытку, набравшую положительный балл, каждого из участников и проведем финальное тестирование.

Удачи!

UPD 1: К сожалению, выяснилось, что большинство текущих тестов были недостаточно разнообразны и не покрывали различные сценарии работы тестирующих систем. Тесты в системе были обновлены, все решения будут перетестированы. Возможно, процесс перетестирования займет существенное время. Кроме того, была обновлена функция начисления баллов (её монотонность сохранена). По этой причине порядок начисленных баллов уменьшился. В условие добавлено ограничение на количество попыток (до 20000). Ознакомьтесь с обновленным условие задачи для выяснения подробностей.

UPD 2: Системное тестирование завершено. Поздравляем победителей! Напоминаем, что лучшие 20 команд будут приглашены в Раунд 3, который начнется 7 мая в 18:05.

UPD 3: Тестирование завершено! С учетом дополнительного тестирования, следующие команды завоевали право участия в Раунде 3:

  1. Geisterkirche, aan93
  2. komendart, zloyplace35
  3. Arthur, Ferathorn
  4. slava.sh
  5. Lo_R_D, vas.and.tor
  6. mHuman, stas99
  7. pashaD4RW1N, krock21
  8. Kaban-5, --Pavel--
  9. magnickolas, sslotin
  10. BotanIQ, agsagds
  11. sergileon, Auster
  12. reconst, Raven_gg
  13. Naduxa, DimonK
  14. Infoshoc
  15. KingArthur, awoo
  16. WiBk, alex700
  17. Jace_Beleren, Jovfer
  18. diko, Omrigan
  19. jvmusin, NikitaMikhaylov
  20. MrDindows, I_love_Tanya_Romanova
  21. nijikilling, maxplus
  22. aytel, kokokostya
  23. kuzmichev_dima, Timur_Keks
  24. tyamgin, Sokolov
  25. Mogby
  26. alex_chukharev, dashakisik
  27. alex.tsitsura
  28. WasylF, stostap
  29. passick, yurboss

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

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

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

Привет!

Последние недели как и вы я был обеспокоен аномальным ростом рейтинга у наших лидеров. Конечно, в первую очередь речь идет о tourist, рейтинг которого устремился просто в небеса.

Были даже комментарии из серии "я же говорил, что так и будет"

После первого раунда VK Cup 2016 я внимательно изучил причины подобного роста и обнаружил простой и банальный баг в формулах подсчета рейтинга. Забавно, что даже будучи опубликованным этот код не вызвал скепсиса. Посмотрите в эту функцию:

    private double getSeed(List<Contestant> contestants, Contestant contestant, int rating) {
        Contestant extraContestant = new Contestant(null, 0, 0, rating);
        double result = 1;
        for (Contestant other : contestants) {
            result += getEloWinProbability(other, extraContestant);
        }
        return result;
    }

Напомню, что эта функция вычисляла ожидаемое место участника, если бы его рейтинг был равен rating. Конечно, она не должна учитывать самого участника, кому мы в данный момент присвоили гипотетической значение рейтинга. Правильный код должен содержать проверку:

        for (Contestant other : contestants) {
            if (other != contestant) {
                result += getEloWinProbability(other, extraContestant);
            }
        }

Этот баг приводил к тому, что занимая первое место tourist фактически побеждал одного очень серьезного противника. Себя самого. Это приводило к значительному росту его рейтинга, даже если первое место было довольно ожидаемым.

Хорошая новость состоит в том, что этот баг оказывал статистически значимый эффект лишь в очень редких случаях: когда победитель (или близкий к победителю участник) и так имел очень большой рейтинг (да-да, обратное для "антигероев" тоже верно). Если взять произвольный раунд и пересчитать рейтинг по исправленным формулам, то практически все участники получат в точности (или очень близкое) изменение рейтинга.

Посоветовавшись с tourist и Petr, я пришел с следующему плану действий:

  • сегодня были хронологически пересчитаны все рейтинги от революции 2015-го года,
  • если в изменение рейтинга по исправленным формулам отличалось от исторического изменения (по формулам с багом) не более чем на 3, то продолжало использоваться историческое изменение,
  • если в изменение рейтинга по исправленным формулам отличалось от исторического изменения (по формулам с багом) более чем на 3, то в истории рейтингов изменение подменялось на правильное.

Оказалось, что практически на всех пользователей этот баг никак не повлиял. Баг задел только самый топ — и чем выше участник к топу, тем сильней оказалось влияние.

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

М.

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

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

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

Раскопал в старых вещах:

А какая у вас самая старая (или может ценная) футболка с олимпиад?

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

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

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

Добрый день.

26-го марта в 10:00 (московское время) стартует Отборочный Раунд 2 чемпионата Технокубок 2016. Раунд будет длиться два часа, участникам будут предложены 5 задач. По его результатам лучшие 150 участников (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке http://mirror.codeforces.com/contests/649. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 100 минут).

Зарегистрироваться на Отборочный Раунд 2 →
Для зарегистрированных участников олимпиады

Напомним, что согласно правилам раундов Codeforces во время соревнования ваши решения будут тестироваться только на претестах (предварительном и неполном наборе тестов), а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! После прохождения претестов у вас будет возможность заблокировать решение, тем самым получив привилегию искать ошибки и взламывать чужие решения, но отказавшись от возможности перепослать ваше решение при каких-либо обстоятельствах (например, даже если вы найдете ошибку или вас взломают). Со временем задачи падают в стоимости. После системного тестирования учитываются только полные решения. Подробнее про правила соревнований можно прочитать по ссылкам:

Напоминаем, что регистрация на олимпиаду еще открыта. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы. Если вы — школьник 8-11 классов и пока не зарегистрировались на Технокубок, то самое время сделать это:

Зарегистрироваться на олимпиаду →

В финал соревнования будут приглашены лучшие 150 участников каждого из отборочных раундов (но не более 45% от общего числа участников раунда).

Второй отборочный раунд будет открыт для всех тех, кто не прошел в финальный этап из первого отборочного раунда. Причина (не участие или недостаточный результат) — не важна.

Желаем удачи на олимпиаде,
MikeMirzayanov и команда Технокубка

UPD 1: Раунд будет рейтинговым для всех участников олимпиады "Технокубок", то есть как для официальных участников раунда, так и участников вне конкурса.

UPD 2: Дорешивание доступно в Тренировках: 2016 Технокубок: Отборочный Раунд 2.

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

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

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

24-го марта в 09:00 (московское время) стартовал Ознакомительный Раунд 2. Его продолжительность составит двое суток, его результаты не будут как-либо влиять на прохождение в следующие этапы. Его единственная цель — дать вам возможность ознакомиться с платформой Codeforces и её тестирующей системой. Приглашаем вас принять в нём участие! Для участия перейдите по ссылке http://mirror.codeforces.com/contests/647. Раунд будет содержать несколько несложных ознакомительных задач и будет открыт для официальных участников Технокубка.

Раунд продлится 48 часов, такая продолжительность выбрана для того, чтобы все нашли себе удобное время для участия. Ознакомительный раунд, как и все предстоящие раунды, требует отдельной регистрации, она будет открыта на протяжении всего раунда.

Во время ознакомительного раунда задачи тестируются системой только на претестах, а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! Взломов, падения стоимости задач во время ознакомительного раунда не будет. Время сдачи задач не будет учитываться, однако будут учитываться штрафные попытки.

Напоминаем, что еще открыта регистрация на олимпиаду для школьников Технокубок. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces в этом году впервые проводит Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

Зарегистрироваться на олимпиаду!

В финал соревнования будут приглашены лучшие 150 участников каждого из отборочных раундов (но не более 45% от общего числа участников раунда).
Первый отборочный раунд уже состоялся, а второй начнется 26 марта (суббота) в 10:00.

Желаем удачи на олимпиаде,
MikeMirzayanov и команда Технокубка

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

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

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

Добрый день.

Теперь пропустить раунд из-за невнимательности при регистрации станет сложнее. В ближайшие раунды в экспериментальном режиме будет запущена функциональность дополнительной регистрации (может надо называть как-то по-другому: расширенной регистрации?).

Это означает, что после окончания периода основной регистрации (как обычно, за 5 минут до старта раунда) будет еще один дополнительный период. Он будет начинаться через 10 минут после старта раунда и закончится через 20 минут, то есть после 30 минут от старта раунда. Роль 10 минут двойная:

  • с одной стороны это вполне реально решить самую простую задачу раунда в первые 10 минут, и тогда отправить решение сразу не получится — то есть возникает мотивация зарегистрироваться вовремя,
  • с другой стороны лучше дать первые 10 минут системе прийти в себя, ведь регистрация нового участника инвалидирует некоторые кэши внутри систему и теоретически и может влиять на нагрузку.

При регистрации в период дополнительного времени участник автоматически отправляется в случайную из комнат (среди подходящих под его роль).

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

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

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

Добрый день.

23-го марта в 18:00 (московское время) стартует Отборочный Раунд 1 чемпионата Технокубок 2016. Раунд будет длиться два часа, участникам будут предложены 5 задач. По его результатам лучшие 150 участников (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке http://mirror.codeforces.com/contests/648. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 20 минут).

Зарегистрироваться на Отборочный Раунд 1 →
Для зарегистрированных участников олимпиады

Напомним, что согласно правилам раундов Codeforces во время соревнования ваши решения будут тестироваться только на претестах (предварительном и неполном наборе тестов), а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! После прохождения претестов у вас будет возможность заблокировать решение, тем самым получив привилегию искать ошибки и взламывать чужие решения, но отказавшись от возможности перепослать ваше решение при каких-либо обстоятельствах (например, даже если вы найдете ошибку или вас взломают). Со временем задачи падают в стоимости. После системного тестирования учитываются только полные решения. Подробнее про правила соревнований можно прочитать по ссылкам:

Напоминаем, что регистрация на олимпиаду еще открыта. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы. Если вы — школьник 8-11 классов и пока не зарегистрировались на Технокубок, то самое время сделать это:

Зарегистрироваться на олимпиаду →

В финал соревнования будут приглашены лучшие 150 участников каждого из отборочных раундов (но не более 45% от общего числа участников раунда).

Второй отборочный раунд будет открыт для всех тех, кто не прошел в финальный этап из первого отборочного раунда. Причина (не участие или недостаточный результат) — не важна. Второй отборочный раунд состоится 26 марта 10:00-12:00.

Желаем удачи на олимпиаде,
MikeMirzayanov и команда Технокубка

UPD 1: Раунд будет являться рейтинговым соревнованием, то есть на основании его результатов будут пересчитаны рейтинги участников.

UPD 2: Соревнование закончено, спасибо за участие! Поздравляем топ-150 с приглашением в Финал олимпиады. Скоро вам будет отослано письмо с формой участника, пожалуйста, не задерживайте с заполнением.

UPD 3: В силу ряда причин дорешивать задачи можно в Тренировках: 2016 Технокубок: Отборочный Раунд 1, приношу извинения за некоторое неудобство.

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

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

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

Добрый день.

21-го марта в 17:00 (московское время) стартует Ознакомительный Раунд 1. Его продолжительность составит двое суток, его результаты не будут как-либо влиять на прохождение в следующие этапы. Его единственная цель — дать вам возможность ознакомиться с платформой Codeforces и её тестирующей системой. Приглашаем вас принять в нём участие! Для участия перейдите по ссылке http://mirror.codeforces.com/contests/646. Раунд будет содержать несколько несложных ознакомительных задач и будет открыт для официальных участников Технокубка.

Раунд продлится 48 часов, такая продолжительность выбрана для того, чтобы все нашли себе удобное время для участия. Ознакомительный раунд, как и все предстоящие раунды, требует отдельной регистрации, она будет открыта на протяжении всего раунда.

Во время ознакомительного раунда задачи тестируются системой только на претестах, а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! Взломов, падения стоимости задач во время ознакомительного раунда не будет. Время сдачи задач не будет учитываться, однако будут учитываться штрафные попытки.

Напоминаем, что еще открыта регистрация на олимпиаду для школьников Технокубок. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces в этом году впервые проводит Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

Зарегистрироваться на олимпиаду!

В финал соревнования будут приглашены лучшие 150 участников каждого из отборочных раундов (но не более 45% от общего числа участников раунда). Отборочные раунды состоятся:

  • первый отборочный раунд: 23 марта 18:00-20:00
  • второй отборочный раунд: 26 марта 10:00-12:00

Желаем удачи на олимпиаде,
MikeMirzayanov и команда Технокубка

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

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

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

Совсем скоро стартует Квалификационный раунд Чемпионата по программированию "КРОК 2016". Раунд будет идти двое суток, мы надеемся каждый сможет найти удобное себе время для участия. Этап начнется 16 марта в 12:00 (московское время).

Подробнее о Чемпионате можно прочитать по ссылке http://mirror.codeforces.com/blog/entry/43229

Чтобы принять участие в Чемпионате официально необходимо зарегистрироваться по адресу http://mirror.codeforces.com/croc2016/register Общий список зарегистрированных на Чемпионат доступен по ссылке.

Чтобы пройти в Раунд 1 вам надо принять участие в квалификации. Из квалификационного раунда в Раунд 1 пройдут все участники, набравшие положительное количество баллов. В раунде вас ждут несколько задач, примерно расположенных по возрастанию сложности. Во время квалификации задачи тестируются системой только на претестах, а системное тестирование состоится после окончания квалификации (т.е. всех 48-и часов мероприятия). Претесты не покрывают все возможные случаи входных данных, так что тщательно тестируйте свои программы! Взломов, падения стоимости задач во время квалификации нет.

Раунд продлится 48 часов, но это не значит, что мы призываем вас все это время провести за решением задач. Мы надеемся, что большинство участников справятся с задачами (или с большинством задач) за более короткий срок. Такая длительность раунда выбрана для того, чтобы каждый нашел удобное время для участия. Задачи будут доступны на русском и английском языках.

До окончания раунда категорически запрещается публиковать где-либо условия задач/решения/какие-либо мысли и соображения о них. Запрещено общаться на тему задач, обсуждать условия и проч. Будьте честными и пусть в Раунд 1 пройдут достойные. Как только квалификация будет завершена, можно будет обсуждать задачи и решения.

Зарегистрироваться на раунд можно в любое время вплоть до его окончания. Результаты раунда не будут влиять на рейтинг. Впрочем, все задачи попадут в архив после окончания раунда.

Желаем удачи и удовольствия от решения задач!

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

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

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

Привет, Codeforces!

Весной 2016 года компания КРОК совместно с площадкой Codeforces проведет свой уже третий по счету Всероссийский Открытый чемпионат по программированию «КРОК – 2016». Цель этого проекта, как и прежде, — поощрение самых талантливых и прогрессивных молодых специалистов и стимулирование интереса к сфере информационных технологий.

Компания КРОК традиционно уделяет огромное внимание социальным проектам, связанным с развитием ИТ-отрасли, продвижением ИТ-профессий и повышением интереса к современным технологиям. У КРОК богатый опыт сотрудничества С ВУЗами, организации курсов, семинаров и олимпиад для школьников, студентов и опытных специалистов.

Регистрация на чемпионат откроется 1 марта на странице чемпионата на площадке Codeforces и продлится до окончания квалификации 16-го марта. Участником Всероссийского Открытого чемпионата по программированию «КРОК – 2016» может стать любой желающий вне зависимости от гражданства, места жительства и уровня образования. Участникам Чемпионата предстоит пройти два тура: дистанционный тур, который состоится в начале марта и финал, в котором сразятся 50 сильнейших участников в Москве 15 апреля. Участникам Финала КРОК-2016 будут покрыты транспортные расходы на сумму не более 10000 рублей (предполагается проезд обыкновенным купейным вагоном, либо, по согласованию, эконом-перелет самолетом). До 25-го марта необходимо подтвердить желание и возможность принять участие в финале в Москву.

Финалистов будет ждать теплый прием, встреча с организаторами мероприятия и экспертами по разработке программного обеспечения в КРОК, праздничный фуршет, увлекательный игровой раунд и отличные призы и подарки. Предыдущий чемпионат по программированию КРОК прошел в 2013 году и собрал 3500 программистов со всей России, из стран СНГ и других стран.

Призы

  • 1 место — 100000 рублей
  • 2 местo — 70000 рублей
  • 3 местo — 50000 рублей

Победитель игрового тура получит ноутбук.

Расписание этапов чемпионата

  • Квалификационный раунд – 16 марта
  • Отборочный раунд – 18 марта
  • Финал чемпионата состоится 15 апреля в Москве в офисе компании КРОК (50 участников)

Все раунды Чемпионата будут открыты для внеконкурсного участия для всей аудитории Codeforces. Отборочный раунд и Финал будут рейтинговыми раундами как для официальных участников, так и всех остальных.

Регистрация

Чтобы принять участие в чемпионате необходимо пройти регистрацию на странице регистрации Чемпионата. Регистрация будет открыта до окончания квалификации. Соревнуйся с лучшими программистами на Открытом Чемпионате "КРОК-2016"!



Зарегистрироваться!


История чемпионатов КРОК

Предстоящий чемпионат станет третьим по счету чемпионатом, проведенным компанией КРОК на площадке Codeforces. С информацией о чемпионатах вы можете ознакомиться, перейдя по ссылкам ниже:

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

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

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

Всем привет!

13 марта в 15:00 начнется первый квалификационный раунд чемпионата VK Cup 2016!

Раунд продлится 24 часа, такая продолжительность выбрана для того, чтобы все нашли себе удобное время для участия. Квалификационный раунд, как и все предстоящие раунды, требует отдельной регистрации. Регистрация уже открыта и будет открыта на протяжении всего раунда.

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

Если вы пока не уверены в текущем составе команды, то не регистрируйтесь на предстоящий раунд. Если вы не будете участвовать в первой квалификации или не пройдете по ее результатам в Раунд 1, то вы сможете попробовать свои силы во второй квалификации.

Чтобы пройти в Раунд 1, вам надо принять участие хотя бы в одной из квалификаций. Из каждой квалификации в Раунд 1 проходят все команды с положительным числом баллов, которые набрали не меньше баллов, чем команда на 500-ом месте.

Во время квалификации задачи тестируются системой только на претестах, а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! Взломов, падения стоимости задач во время квалификации не будет. Время сдачи задач не будет учитываться, однако будут учитываться штрафные попытки.

Категорически запрещается публиковать где-либо условия задач/решения/какие-либо мысли и соображения о них до окончания раунда. Запрещено обсуждать задачи с кем-либо кроме вашего сокомандника. Будьте честны, пусть в Раунд 1 пройдут сильнейшие!

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

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

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

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

Hello!

Recently there were some comments about unexpected MLE verdict for Java solutions.

Now we experimentally run Java with the following command line (it is a part relevant to memory): -XX:NewRatio=5 -Xms8M -Xmx<ML> -Xss64M.

It is good to know that default java GC divides heap to generations (areas) and tenured (old) generation is less than entire heap size. We use -XX:NewRatio=5 to increase the tenured generation size. For example, if memory limit is 256M then tenured generation is about 200MB. For example, it means that you can not allocate array of size 210MB in your program. Note, that without -XX:NewRatio=5 the tenured generation size is ~170MB.

Also I tried option to use G1 garbage collector, but it seems it works much slower for programming competition codes.

If you want to suggest improvements, please test your suggestion on the following cases:

Note, we use javaagent for JVM to intercept java.lang.OutOfMemoryException exceptions and return them as MLE verdict. It doesn't affect StackOverflowException or any other exception.

Also we use hard memory limit per process (because of possible off-heap allocations) which is about 20MB larger than ML (~20MB is memory consumed by simple almost empty solution).

BTW, what options use Yandex.Contest, ejudge, PCMS2 and other judges to run Java?

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

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

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

Привет, Codeforces!

Мы с радостью сообщаем вам, что компания ВКонтакте совместно с площадкой Codeforces вновь проводит чемпионат VK Cup. К участию в VK Cup 2016 допускаются команды до двух человек, так как практика парного программирования широко распространена во всем мире, в том числе и ВКонтакте. За призы и звание победителя приглашается побороться русскоязычным молодым специалистам, студентам, школьникам и просто любителям алгоритмов и программирования.

Лучшие 20 команд по результатам отборочных интернет-этапов будут приглашены в финал соревнования, который состоится в июле 2016-го года в прекрасном городе Санкт-Петербурге. Компания ВКонтакте покроет расходы на проезд и проживание финалистов, которые будут бороться не только за звание лучших из лучших, но и призовой фонд чемпионата. Как и в прошлом году призы соревнования связаны с круглыми числами в двоичной системе счисления:

  • 1 место — 1048576 рублей
  • 2 местo — 524288 рублей
  • 3 местo — 262144 рубля
  • 4-8 места — 131072 рубля

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

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

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

В 16:00 (московское время) 4 марта 2016 г. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces запускает Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

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

Организаторы олимпиады


Московский физико-технический институт


Московский Государственный Технический Университет им. Н. Э. Баумана


IT.Mail.Ru


Codeforces

Победители и призеры олимпиады будут определены по результатам очного этапа, который будет проведен в Москве.

Этапы соревнования

Ознакомительные раунды
21 марта 00:00 — 23 марта 17:00, 24 марта 00:00 — 26 марта 11:00

У участников олимпиады будет возможность ознакомиться с платформой Codeforces. Для участия в онлайн-этапе, решение задач ознакомительного раунда не обязательно.

**Отборочный (онлайн) этап **
23 марта 18:00 — 20:00, 26 марта 10:00 — 12:00

Пользователи могут участвовать как и в первом, так и во втором онлайн-раунде. Лучшие 150 участников каждого из онлайн-раундов будут приглашены к участию в заключительном этапе, но не более 45% от общего числа участников раунда. До 5 апреля приглашенные в заключительный этап должны подтвердить желание и возможность участия в нем. В случае отсутствия подтверждения, жюри может пригласить следующего участника по результатам соответствующего онлайн-раунда.

Заключительный (очный) этап в МГТУ им. Н. Э. Баумана и МФТИ
17 апреля

Заключительный этап будет проходить очно на площадках вузов. Участники, прошедшие онлайн-этап, побывают в лучших технических вузах страны и смогут получить ответы на вопросы по поводу поступления. Награждение пройдет в тот же день в офисе Mail.Ru Group, для победителей и призеров будет организован трансфер с площадок вузов. Победители и призеры олимпиады познакомятся со специалистами крупнейшей IT-компании в России, а также узнают про возможности карьерного роста в IT-сфере для абитуриентов МФТИ и МГТУ им. Н. Э. Баумана. Проживание и проезд осуществляется за счет участников. При наличии возможности по решению Оргкомитета возможна частичная оплата расходов на проживание. Для остальных мы подберем рекомендации по проживанию за невысокую цену близ площадок вузов.

Призы

Дополнительные баллы в МФТИ и МГТУ им. Н. Э. Баумана:

  • Победителям (диплом I степени) — 8 баллов
  • Призерам (диплом II, III степени) — 6 баллов

Всего будут награждены не более трети участников заключительного этапа.

Ценные призы:

  • 1 место iPad mini 2 + Технокубок
  • 2 место iPod nano
  • 3 место iPod shuffle

Регистрация начнется в 16:00 (московское время) 4 марта на сайте: https://it.mail.ru/technocup/

Сразитесь за звание самого талантливого молодого программиста и за право стать первым обладателем Технокубка!

Олимпиада проходит по правилам раундов Codeforces.

Чемпионат Технокубок входит в число инициатив Mail.Ru Group, направленных на развитие российской IT-отрасли и объединённых ресурсом It.Mail.Ru. Платформа It.Mail.Ru создана для тех, кто увлекается IT и стремится профессионально развиваться в этой сфере. Проект объединяет чемпионаты Russian AI Cup, Russian Code Cup и Russian Developers Cup, образовательные проекты Технопарк в МГТУ им. Баумана, Техносфера в МГУ им. М.В. Ломоносова и Технотрек в МФТИ. Кроме того, на It.Mail.Ru можно с помощью тестов проверить свои знания по популярным языкам программирования, узнать важные новости из мира IT, посетить или посмотреть трансляции с профильных мероприятий и лекции на IT-тематику.

*Дополнительные баллы могут получить учащиеся 8 – 11-х классов образовательных учреждений. Действие льготы — 4 года.

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

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

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

Привет.

Если вы еще думаете, стоит ли участвовать в новом чемпионате КРОК (я-то уверен, что надо быстрее регистрироваться!), то посмотрите ролики КРОК о чемпионате (или для чемпионата) 2013-го года.

А вот в таких роликах в качестве актеров поучаствовали организаторы чемпионата того года:

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

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

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

По всей России идет первый тур олимпиады. Болеем за ребят! Напоминаю, что что-либо спойлерить до окончания нельзя.

Интересно, в каких областях как проводят? Почти все на Яндекс-Контесте? Как впечатления?

Саратов проводит на отдельном интерфейсе для Codeforces, выглядит так:

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

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

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

Добрый день.

Теперь Codeforces станет удобнее просматривать с мобильных платформ. Для большинства из них теперь доступен мобильный вид, при котором меню уходит в левую выдвижную панель, а сайдбар — в правую. Обе панели доступны либо по специальным иконкам вверху страницы, либо по свайпу влево/вправо. Скрывать их можно либо тычком в основную область страницы, либо обратным свайпом. В мобильном виде основные шрифты чуток увеличены, что на большинстве экранов можно читать сайт уже без увеличения.

Вот так, например, сайдбар выглядит на моем телефоне:

пример

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

P.S. На старых браузерах, да и вообще на не-webkit могут быть сложности. Не уверен, что их легко исправить :-(

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

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

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

Добрый день!

Вот вам немного статистики в виде графиков и чартов за 2015-й год. Я очень доволен их бодрым ростом. На самом деле, каждый год я боюсь обнаружить Codeforces в состоянии плато и каждый год я радуюсь, видя ваш интерес и энтузиазм. Так держать! Вот и опять по разным метрикам мы видим в этом году 20-50% рост!

Кроме того, я уже писал раннее о прогрессе в разработке и чемпионатах и раундах с компаниями-партнерами в 2015-м году. Если не читали, пожалуйста, ознакомьтесь.

А вот и веселые картинки со статистикой:


Рост количество зарегистрированных пользователей. Перевалили 300 тысяч в этом году!

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

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

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

Привет!

Поздравляю всю аудиторию Codeforces с Новым Годом! Конечно, этот год опять не будет простым (ведь 2016 делится на 2, 3 и 7). Желаю вам интересных задач, красивых решений и успешных попыток на последних секундах! Желаю не терять интерес к такого замечательному делу как программирование, верить в свои силы и регулярно находить подтверждение этой вере. А еще не болейте и побольше улыбайтесь (даже если слив). Ура!

В настройках профиля появился волшебный раздел. С Новым годом!

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

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

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

В Новый год мечты сбываются: вы можете сменить хэндл до 10-го января

Открыта традиционная новогодняя акция. Спешите! Только до 10-го января вы можете изменить свой хэндл абсолютно безвозмездно, то есть даром! Сменить хэндл можно лишь единожды. Обратите внимание, что откатить изменения или изменить хэндл еще раз вы сможете только через год. Будьте внимательны и осторожны со своими желаниями! :)

Хэндл можно сменить либо на совсем новый (ранее никем никогда не используемый), либо на тот, который у вас был когда-то ранее. Кстати, ссылки на ваш профиль с прошлым хэндлом работать не перестанут — будет автоматический редирект со старого хэндла на новый. У нас все ходы записаны!

Для смены хэндла нажимайте в профиле "Настройки", затем "Хэндл", а потом внимательно читайте всё то, что написано.

Касательно необдуманных хэндлов я всегда вспоминаю такую историю. Мне как-то написал пользователь с просьбой: "Прошу сменить мой хэндл с I_love_Valya на I_love_Sveta, так как Валю я больше не люблю..."

С новым годом!

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

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

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

Добрый день.

В прошедшем году мы не только занимались организацией раундов и чемпионатов. Каждый день мы писали код, дебажили, тестировали и изучали разные инструменты и технологии, чтобы сделать Codeforces лучше. Даже если в какие-то периоды вы не видели сильных изменений на сайте, это вовсе не значило, что разработка стояла на месте — просто некоторые нововведения касаются исключительно инфраструктуры, архитектуры или административных интерфейсов и не всплывают к пользователям.

Я собрал в список всех тех нововведений, которые в той или иной степени коснулись кого-то (или всех) из пользователей. В этом безликом списке нашли свое место результаты многодневной работы каждого члена (иногда c приставкой ex-) технической команды Codeforces: MikeMirzayanov, MaximShipko, kuviman, fcspartakm, Avalanche. Есть и ценные помощники Edvard (помог с внедрением образовательных раундов), stingray (постоянная помощь с администрированием и настройкой серверов бесценна), demlit и lthirteenthl (помощь с администрированием и железками). И это я только перечислил тех, кто помогает в техническом плане — есть еще важный список всех тех, кто способствует развитию и жизни Codeforces в других аспектах. Спасибо!

А вот и обещанный список завершенных (иногда частично) наших дел в 2015-м году.

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

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

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

Всем привет!

Надеюсь у вас уже праздничное настроение?

Чуть позже я опубликую статистику за год и расскажу про наши достижения за год, а пока речь пойдет о чемпионатах и соревнованиях, которые мы сделали с партнерами в 2015-м году. Сюда не вошли какие-то мероприятия, которые мы делали совсем далеко от площадки Codeforces (например, Russian AI Cup).

Этот год запомнился большим количеством интересных соревнований, которые мы сделали не сами по себе, а вместе с партнерами. Особенно приятно, что все компании, кто хотел пополнить ряды своих сотрудников — все они нашли себе достойных кандидатов среди наших участников. А еще кто-то говорит, что олимпиады не нужны — врут! Вот список мероприятий:

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

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

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

Добрый день.

Теперь для поиска по постам вам вовсе не обязательно уходить в Google, а можно это делать прямо на Codeforces. Мы поддержали поиск по текстам постов на базе Apache Lucene. В индексе содержатся все открытые публичные посты, которых уже более 15000 штук.

Временно поиск по тегам теперь недоступен (но и по тегам заиндексируем), но вместо него вы обнаружите возможность найти посты и даже отсортировать выдачу по нужному критерию. Кстати, язык запросов к поисковику — это все возможности Lucene, так что можете найти полное описание и писать неочевидные запросы.

Можно ввести несколько слов — все они попадут в требования к поиску (что-то из требований может быть опущено движком, если документов, удовлетворяющих всему запросу нет). Кроме того, осуществляется поиск по словоформам и, если повезет, по синонимам. Поддерживается поиск по названию, автору и специальный синтаксис запросов.

Вот примеры запросов:

  • 305 — ищет все посты, содержащие 305, найдет посты про Раунд 305
  • andrew stankevich contests — можно писать сразу много слов, будут искаться все
  • user:mikemirzayanov title:сазанка — ищет все посты в названии со словом "сазанка" авторства MikeMirzayanov
  • "vk cup" — можно использовать кавычку, чтобы искать точные совпадения
  • title:educational — искать в названии

По поводу индексирования комментариев, исходных текстов решений и тестов условий есть ощущение, что это может оказаться бесполезным. Слишком сложно будет найти что-то релевантное (а может и нет). Как вы думаете, стоит делать?

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

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