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

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

Привет!

В качестве допустимого компилятора на Codeforces и в систему Polygon добавлен язык C++17. В качестве компилятора используется 32-битный mingw64 версии 7.2.0 (позже будет обновлен, когда выйдут новые версии). Учитите, что мы используем патч от halyavin для ускорения ввода-вывода при использовании scanf/printf (подробнее можно прочитать здесь). Точный используемый дистрибутив можно установить на Windows из нашего пакетного менеджера PBOX по ссылке http://pbox.me/packages/mingw-w64-7

Точная используемая строка компиляции:

g++.exe -static -DONLINE_JUDGE -Wl,--stack=268435456 -O2 -std=c++17 -o %name%.exe %1 2>compilation.log

Удачных решений на С++17,
MikeMirzayanov

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

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

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

Добрый день!

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

Предлагаю в комментариях обсудить задачи (когда тур завершится во всех регионах) и результаты.

Наверное, в этом году большинство регионов проводит на Яндекс.Контесте. Интересно, многие ли регионы проводят самостоятельно?

Желаю всё решить, успеть оттестировать и получить максимальные баллы!

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

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

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

Hi!

After the Educational Codeforces Round 35 (рейтинговый для Див. 2) the system marked some solutions as plagiarism by mistake. It counts submitted twice solutions of the same participant as a plagiarism. Sorry about it. Day ago I rolled back punishment and judged such submissions as normal. Now I'm fixing the ratings. In 2-3 hours some rating changes will be reverted and applied back. The same with NY magic. Temporarily magic is unavailable now. It will be back soon!

The changes will affect ~10 people.

MikeMirzayanov

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

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

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

С Новым годом, Codeforces!

Спешу пожелать всей аудитории (и мне в том числе) работающих программ, внезапных озарений, красивых идей и интересных задач!

Я надеюсь, что вы встретили новый год так же весело, как и я. Успели выспаться после новогодней ночи? В этом году традиционный пост подведения итогов прошедшего года я сел писать только 1-го января 2018-го. Надеюсь, мне не придется теперь весь год подводить итоги.

Этот пост важен для меня, так как он подводит черту всей работе, которая проделана командой Codeforces и всем сообществом в 2017-м году. Огромное спасибо команде: все перечисленные ниже достижения — результат общих трудов и усилий. Мы отлично поработали! Сообщество должно знать своих героев. В 2017-м году в развитии проекта принимали участие: MikeMirzayanov, KAN (координатор задач), vintage_Vlad_Makeev (второй координатор задач), netman (экс-второй координатор задач), kuviman (разработчик), fcspartakm (разработчик), SladeThe (разработчик) и gKseni (менеджер). Большой вклад оказали студенты СГУ BledDest, awoo, vovuh и Perforator — образовательные раунды, тренировки и помощь в разработке. Я посылаю лучи благодарности авторам задач и тестерам — вы создаете интереснейший контент для многих тысяч любителей программирования со всего мира. Огромное спасибо всем тем, кто помогал со спецпроектами, писал интересные посты и дельные комментарии. Все вместе мы смогли сделать Codeforces лучше!

Итак, перейдем к итогам. Мне кажется, в этом году опять есть чем похвастаться.

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

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

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

У вас же уже новогоднее настроение?

А у нас традиционные подарки!

Смена хэндла

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

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

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

В этом году улучшение — если вы приняли участие в 10 или более раундах, то можете забрать хэндл у неактивного пользователя. Если пользователь заходил на сайт в отрезок времени не более месяца, это всё было до 2014-го года, поучаствовал не более чем в одном контесте, не написал комментариев, личных сообщений и еще пара похожих требований, то у него можно изъять хэндл. У него хэндл будет автоматически сменен на похожий, ему отослано письмо с информацией. Если у вас не получается сменить хэндл, значит какое-то из условий не выполняется. Пожалуйста, не просите меня что-то предпринять. Я не Дед Мороз.

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

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

Новогодний маскарад цветов и званий

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

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

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

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

Привет, Codeforces!

Перед полуфиналом ACM-ICPC у меня возникла неожиданная мысль воспользоваться моментом и взять интервью у самого успешного тренера в истории чемпионатов по программированию (ACM-ICPC) Андрея andrewzta Станкевича. Было интересно попробовать и себя в новом качестве. Мне кажется, Андрей рассказал много интересного. Спасибо!

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

Спасибо Андрею за интересный рассказ и ИТМО за предоставленную возможность и помощь.

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

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

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

Привет, Codeforces!

У меня появилось желание перед этапом Технокубка и рейтинговыми раундами по нему хорошенько проверить, что всё работает как надо после недавних нововведений.

Приглашаю вас принять участие в Testing Round 14 (Unrated). Старт состоится 22-го декабря в 14:05. Раунд будет неофициальным, нерейтинговым. Продолжительность: 90 минут.

Претесты будут необычно слабыми, чтобы спровоцировать побольше взломов.

Спасибо,
MikeMirzayanov

UPD: Спасибо! Раунд прошел без замеченных багов. Все системы работают исправно.

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

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

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

Привет, Codeforces!

Это не совсем обычный пост от меня. Это не анонс новых фич или чемпионата, но воодушевлен я ничуть не меньше.

Рад сообщить, что с 29 января по 16 февраля 2018 г. буду читать курс "Advanced Algorithms and Data Structures" в Harbour.Space University (Испания, Барселона). Курс будет прочитан на английском языке. Слушателями этого курса будут не только студенты Harbour.Space. Курс открыт для всех желающих! Кто хочет присоединиться?

Обычно курсы приглашенных преподавателей в Harbour.Space предназначены исключительно для студентов университета. Я очень рад, что Harbour.Space в случае моего курса пошел на эксперимент, сделав курс открытым для желающих попасть именно на него. Стоимость обучения составит 1000 евро. Подать заявку можно по ссылке. В стоимость обучения не входит проживание в Барселоне и питание.

Записаться на курс →

В моих планах — подробный рассказ о некоторых алгоритмах и структурах данных, много практических занятий и акцент не только на правильность, но и красоту и структура кода. Моя цель — сделать полезные и интересные занятия для как для всех кто хочет разбираться в фундаментальном CS, так и для интересующихся соревнованиями по программированию. Наверняка, у нас будет возможность познакомиться и пообщаться. Я с удовольствием поделюсь рассказами об истории Codeforces и планами по развитию.

Курс будет состоять из трёх недель обучения, по 5 учебных дней в каждой неделе. В программе — ежедневные лекции и практические занятия. Скучно точно не будет!

Вот предполагаемый план курса:

Неделя День Тема
1 1 Heap data structure, heap properties and operations. HeapSort. Priority queue. Other heap applications. Mergeable heaps: binomial heap, pairing heap, randomised meldable heap.
1 2 Fenwick tree. Description and motivation. Implementation of Fenwick tree. Generalisation for higher dimensions. Skip list data structure. Implementation details. Indexable skiplist.
1 3 Segment trees. Top-down implementation. Bottom-up implementation. Segment trees applications. Persistent data structures. Persistent stack, persistent array. Persistent Fenwick and segment trees.
1 4 Cartesian trees, treap data structure. Merge and split operations. Treap implementation in detail. Treap applications.
1 5 Treaps with implicit keys. Ropes. Segment reverse operation. Examples of problems.
2 6 Introduction to strings. String searching (matching) problem. Pattern pre processings. Z-function, prefix-function. Their applications. Knuth–Morris–Pratt algorithm. Matching finite state machine.
2 7 Multiple pattern matching. Trie data structure. Aho-Corasick algorithm. Implementation details. Dynamic programming on a trie.
2 8 String hashing. Rabin-Karp algorithm. Fast substrings comparison with hashes. Suffix array. LCP array. Efficient construction algorithm. Applications.
2 9 Suffix tree. Ukkonen's algorithm. Suffix tree construction from LCP array. Suffix tree applications.
2 10 Suffix automaton. Size bounds. Linear Algorithm. Using suffix automata as an index for approximate string searches.
3 11 Introduction to automata theory. Formal languages. Context-free languages. Formal grammars. Context-free grammars. NFA, DFA, convert NFA to DFA. Build automaton by regular expression.
3 12 LL(1) parser. Arithmetic expressions parsing. Shunting-yard algorithm. Simplified Pascal language parsing and interpretation.
3 13 Algorithms for traversing a graph. DFS. Properties. DFS search tree. Edges classification. Linear bridge-finding algorithm. Linear articulation points finding algorithm. Strongly connected components. Tarjan's strongly connected components algorithm.
3 14 Tree problems. Bottom-up approach. LCA problem. LCA algorithms.
3 15 Bipartite graphs. König’s criterion. Problems: maximum matching, minimum edge cover, maximum independent vertex set, minimum vertex cover. Connection of the problems. Berge's lemma. Kuhn algorithm. Kuhn algorithm properties. Minimal vertex cover by maximum matching. Cover DAG by minimal number of paths.

Университет Harbour.Space расположен в Барселоне (Испания). Пользователям Codeforces университет Harbour.Space известен по активному участию в жизни сообщества спортивного программирования (сборы и партнерство с Codeforces в рамках образовательных раундов). Основная же деятельность университета — обучение (есть бакалаврские и магистерские программы) по направлениям:

  • Maths as a Second Language
  • Computer Science
  • Data Science
  • Cyber Security
  • Interaction Design
  • Digital Marketing
  • High Tech Entrepreneurship
  • FinTech
  • BioTech
  • Aerospace Engineering
  • SuperCities UrbanTech

Mike Mirzayanov

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

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

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

Привет!

Я рад сообщить, что два раунда Codeforces прошли вполне хорошо в плане работы Codeforces, чему я очень рад. Эти дни ночи я провел в профайлере, фиксах кода, изучению настроек MariaDB.

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

Встречайте, диагностика решений на С++!

Постоянные посетители Codeforces уже устали от вопросов менее опытных участников: «Почему моё решение не работает на тесте на серверах Codeforces, если локально я его запускаю, и оно работает? У вас неправильный компилятор/серверы!» В 99% случаях это пример неопределённого поведения в программе. Иначе говоря, программа содержит ошибки, которые в силу ряда обстоятельств не воспроизводятся при локальном запуске, но воспроизводятся при запуске на серверах Codeforces.

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

В g++/clang++ есть замечательная штука sanitizers (переводится как «дезинфицирующее средство»). Это такие способы скомпилировать программу в особом режиме так, что при своей работе она будет проверять свой ход выполнения на неопределенное поведение (и некоторые другие ошибки) и в случае возникновения выдавать их в stderr. Похожей функциональностью обладает и drmemory (некоторый аналог valgrind, но для Windows), который для определения ошибок запускает программу в особом режиме. При таких диагностических запусках колоссально страдает производительность выполнения программы (программа выполняется медленнее в 5-100 раз и требует больше памяти), но зачастую оно того стоит.

Теперь автоматическая диагностика в некоторых случаях предотвратит вопрос вида «Почему не работает???», указав на ошибку или её вид!

Если ваше решение:

  • написано на C++,
  • упало с вердиктом «неправильный ответ» или «ошибка исполнения»,
  • на этом тесте отработало предельно быстро и съело мало памяти,

то оно будет перезапущено, используя специальные диагностические компиляторы (clang++ c sanitizers и g++ с drmemory). Если при таком запуске произойдет ошибка исполнения, то журнал запуска будет отображен в деталях тестирования в разделе «диагностика». Конечно, эта запись будет содержать технический лог на английском языке, но зачастую он укажет вам на ошибку программы. Часто он содержит причину падения программы и даже строку исполнения. Если диагностика не отображается, значит хотя бы одно условие выше не выполнилось или диагностика не обнаружила ошибок.


Пример отображения диагностики: здесь написано, что произошел выход за границу массива в 78 строке.

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

Желаю, чтобы ваши программы не падали. Надеюсь, нововведение будет полезно!

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

P.S. Так же диагностические компиляторы просто доступны для использования. Например, их можно использовать на вкладке «Запуск». Напоминаю, что программа работает многократно медленнее и потребляет больше памяти в режиме диагностики.

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

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

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

Раунд будет нерейтинговым. Однако, раунд будет учитываться при отборе на финал Технокубока. Кроме того, мы планируем провести дополнительный (четвертый) отборочный раунд, чтобы компенсировать проблемы на этом раунде. Следите за обновлениями. Приносим свои извинения за получившуюся ситуацию. Надеюсь, вам понравились задачи.

Привет.

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

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

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

Еще раз приношу извинение за неудобства.

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

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

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

Добрый день!

18-го октября завершился Четвертьфинал Южного подрегиона NEERC (Northern Eurasia) чемпионата ACM-ICPC. В Саратове встретились 73 команды, многие из которых получили приглашение по результатам квалификационного этапа.

Уже в субботу, 21-го октября в 11:05 (МСК) состоится онлайн-зеркало 2017-2018 ACM-ICPC, NEERC, Южный четвертьфинал (онлайн-трансляция, правила ACM-ICPC, предпочтительно команды).

Приглашаю команды ACM-ICPC к участию и просто индивидуальных участников соревнований Codeforces принять участие!

Конечно, соревнование будет нерейтинговое.

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

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

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

Обратите внимание, что мы напряглись и подготовили дополнительные задачи для Div 1. Таким образом, параллельно с отборочным раундом будут проведены Codeforces Round 440 Div.1 и Div.2 (рейтинговые раунды для обоих дивизионов — всё как вы любите). Участвуют все!

Добрый день.

15-го октября в 11:05 (московское время) стартует Отборочный Раунд 2 (и открытые раунды для обоих дивизионов по его мотивам) олимпиады для школьников Технокубок 2018. Раунд будет длиться два часа, участникам будут предложены 6 задач. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунды и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 20 минут).

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

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

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

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

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

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

Опубликован разбор.

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

Отборочный раунд Технокубка:

  1. Mikhniuk
  2. scanhex
  3. Krisha
  4. lis
  5. FalseMirror

Div. 1:

  1. khadaev
  2. Errichto
  3. eddy1021
  4. FizzyDavid
  5. fateice

Div. 2:

  1. wdmmsyf
  2. Legilimens2023
  3. destinydrifter
  4. oscar114514
  5. OMS

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

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

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

Привет, Codeforces!

25 сентября 2017 года в 13:35 MSK состоится очередной раунд Codeforces #436 для участников из второго дивизиона. Традиционно, участники из первого дивизиона приглашаются поучаствовать в соревновании вне конкурса. Обратите внимание на необычное время начала раунда!

Этот раунд проводится по задачам школьного этапа Всероссийской олимпиады школьников по информатике 2017/2018 года г. Саратова. Задачи для вас готовили Perforator, MikeMirzayanov и fcspartakm. Огромное спасибо тестерам: sdya и BledDest, а так же координаторам KAN и vintage_Vlad_Makeev.

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

UPD Если вы школьник из Саратова и писали сегодня школьный этап Всероссийской олимпиады по информатике, убедительная просьба не принимать участие в сегодняшнем соревновании!

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

Div. 2:

  1. zjt_ioi_2019_ak
  2. AngusRitossa
  3. Jha_The_ME_Coder
  4. cxh007
  5. Alexxx

Div. 1:

  1. Shik
  2. dreamoon_love_AA
  3. black_horse2014
  4. orbitingflea
  5. KassiJulgus

Разбор тут.

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

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

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

Добро пожаловать на 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred).

Этот контест был проведен вчера (17-го сентября). В основном он ориентирован на аудиторию участников из второго дивизиона.

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

Во время онлайн-зеркала вы сможете скачать PDF-файлы с условиями (как на русском так и английском языках). Ссылки будут доступны на основной странице соревнования в сайдбаре справа.

Удачи!

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

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

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

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

MikeMirzayanov


Обратите внимание, что мы напряглись и подготовили дополнительные задачи для Div 1. Таким образом, параллельно с отборочным раундом будет проведен Codeforces Round 434 Div.1+Div.2 (рейтинговый раунд для обоих дивизионов — всё как вы любите). Участвуют все!

Добрый день.

17-го сентября в 16:05 (московское время) стартует Отборочный Раунд 1 (и открытые раунды для обоих дивизионов по его мотивам) олимпиады для школьников Технокубок 2018. Раунд будет длиться два часа, участникам будут предложены 6 задач. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунды и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 20 минут).

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

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

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

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

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

Большое спасибо KAN, vovuh, Neon, ifsmirnov, irkstepanov и WHITE2302, все они участвовали в подготовке раунда.

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

UPD: Соревнование завершено. В отборочном раунде Технокубка первые три места заняли:

Место в Финале Технокубка достается лучшим 100 участникам раунда (по участника dfczyjd включительно). Поздравляем победителей!

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

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

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

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

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

Победители и призеры олимпиады будут определены по результатам очного этапа, который будет проведен в Москве весной 2018 года на базе площадок МГТУ им. Н.Э.Баумана и МФТИ.

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

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

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

Больше контестов хороших и разных! Вдохновившись рассказами droptable об успехах проведения квалификационных этапов в Восточном четвертьфинале NEERC, в этом году и Южный (саратовский) четвертьфинал объявляет о проведении квалификационного этапа. В октябре состоится 20-й юбилейный четвертьфинал в Саратове. Надеемся, что проводя квалификацию, мы сумеем дать возможность большему количеству команд попробовать себя в соревнованиях по программированию.

Для широкой аудитории 17-го сентября будет проведено онлайн-зеркало на Codeforces. Приглашаются все!

В этом году (сезон 2017-2018) Четвертьфинал ICPC Южного подрегиона NEERC будет содержать дополнительный квалификационный этап. Дата проведения — 17 сентября 2017 г. До 11 сентября необходимо зарегистрировать команду на сайте https://icpc.sgu.ru.


Зарегистрироваться →
Для команд Южного подрегиона NEERC

Приглашаются команды студентов/магистрантов/аспирантов из Астраханской, Белгородской, Волгоградской, Воронежской, Курской, Липецкой, Нижегородской, Пензенской, Ростовской, Самарской, Саратовской, Тамбовской, Ульяновской областей, Краснодарского, Ставропольского краёв, республик Адыгея, Дагестан, Кабардино-Балкария, Калмыкия, Карачаево-Черкесия, Чечня, Марий Эл, Мордовия, Северная Осетия, Татарстан, Чувашия. Команды должны состоять из трёх студентов/магистрантов/аспирантов (ниже смотрите формальные требования), представляющих один вуз. Участие в квалификационном этапе бесплатное. Оргвзнос не предусмотрен.

Этап будет одновременно проведен на нескольких площадках в ряде городов Южного подрегиона NEERC. Продолжительность квалификационного этапа 4 часа, язык условий — русский. Будет доступен перевод условий на английский язык.

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

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

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

Hello, Codeforces!

I am pleased to announce the 2nd Hello Barcelona Programming Bootcamp in collaboration with Moscow Workshops ACM ICPC, which will be hosted by our partner Harbour.Space University together with Moscow Workshops ACM ICPC, ITMO University, Moscow Physics and Technology University, Saint Petersburg State University and Codeforces!



The boot camp will be held from September 27th to October 5th in Barcelona. This time it will be at the beautiful and technologically mind-bending Media-TIC building — the Smart Building of Tomorrow.



Media-TIC building — the Smart Building of Tomorrow

The world's greatest coaches will be attending: Andrew andrewzta Stankevich, Michael Endagorion Tikhomirov, Gleb GlebsHP Evstropov, Artem VArtem Vasilyev and other world renowned Russian coaches. As a coach, I will come too. The Chief Judge of the camp is Oleg snarknews Khristenko. Seriously, it will be a unique opportunity for teams around the world to learn from such well-known and successful coaches in the ACM-ICPC world.

Having visited the first Hello Barcelona programming Bootcamp in February, I left the event feeling inspired from the overall atmosphere. I am sure that all teams received an immense amount of knowledge and skills. As one of the coaches, all of the flattering reviews about the camp from the participants were pleasant for me to hear. I am very glad that these camps are becoming regular. Harbour.Space University and Moscow Workshops ACM ICPC have done a job worthy of admiration!

The Bootcamp will be split in two divisions:

  • Division A. Designed to prepare students to excel and win medals in the next ACM-ICPC World Finals.

  • Division B. Designed to help teams prepare for the next season of ACM-ICPC Regionals and international competitions. This is an appropriate introduction for teams and students new to the world of ACM ICPC and competitive programming competitions in general. The Division B curriculum features thematic lectures and contests.

The participation fee is unchanged: €1270 per person (cultural program, accommodation and half-board meals included).

Single participants and teams must register by July 1st, 2017 to receive the 15% off-Early Bird Discount, or the 20% off-Loyalty Discount, which is awarded to teams that participated in previous Moscow Workshops ACM ICPC boot camps.


Learn more about Barcelona ACM-ICPC Bootcamp

You can ask any questions by email: [email protected]

Hope to meet you on the Bootcamp, Mike Mirzayanov

In order to experience the atmosphere of the event, I suggest you familiarize yourself with the photos and videos from the 1st Hello Barcelona programming Bootcamp in collaboration with Moscow Workshops ACM ICPC.

Can't download http://assets.codeforces.com/photos/barcelona-2017-1/list.txt [tried twice].

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

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

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

Общая информация

Саратовский государственный университет в первой половине августа проводит международную летнюю студенческую школу по программированию. Продолжительность школы — десять дней, школа пройдет с 31-го июля по 10-е августа 2017 года.

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

Школа пройдет в живописном месте, на одной из саратовских баз отдыха на берегу Волги. Участники будут расселены в уютных номерах по 2-4 человека и обеспечены трехразовым питанием. На территории базы имеется собственный пляж и спортивные площадки.

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

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

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

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

24-го мая 2017 г. в 18:00 (московское время) начнется главное событие года в мире спортивного программирования — финал командного студенческого чемпионата мира ACM-ICPC 2017!

Позади открытие и пробные туры. 128 команд со всего мира собрались в Рэпид-Сити (США), чтобы определить кто из них станет чемпионом мира, кто получит медали чемпионата.

Масштаб проведения чемпионата этого сезона поражает воображение. Всего во всех отборочных этапах чемпионата приняли участие 46381 студент из 2948 университетов 103 стран мира 6 континентов! 5073 тренеров готовили эти команды к участию в чемпионате. В зависимости от региона команды прошли четвертьфиналы, локальные отборы, региональные соревнования. Лучшие 128 команд приехали в Рэпид-Сити для участия в Финале.

Болейте за своих земляков, любимые команды и просто сопереживайте участникам!

Codeforces желает командам показать яркий, интересный, полный борьбы контест. Желаем находить красивые решения, писать без багов и побольше радоваться решенным задачам!

Болеем по ссылкам:

Трансляция на русском языке:
Трансляция на английском языке:
Трансляция от легендарных Petr, tourist, Endagorion:

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

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

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

Добрый день.

Финал чемпионата мира ACM-ICPC в самом разгар. Совсем недавно завершилась церемония открытия. За эти дни директорат поделился некоторыми новостями.

  1. Напомню, что этот сезон (2016-2017) последний, когда генеральным спонсором чемпионата является компания IBM. 20 лет IBM поддерживала ACM-ICPC, вкладывая миллионы долларов ежегодно. Спасибо, IBM! В настоящий момент активно прорабатывается модель, когда будет не один генеральный спонсор, а будет фонд в котором будут участвовать несколько компаний. На открытии был упомянут Sport Programming Foundation — полагаю, этот фонд и будет основным для будущих сезонов проведений чемпионата. Однако это еще не близкие планы.

    Было анонсировано, что ближайшие три года генеральным спонсором ACM-ICPC будет компания JetBrains! Это потрясающая новость. Особенно приятно, что это фактически российская компания, а её исполнительный директор Максим Шафиров тренировал команду СПбГУ, ставшую чемпионом мира в 2000-м году! Уверен, как приятный бонус нас будут ждать замечательные среды разработки от JetBrains в будущих финалах чемпионата.

  2. Происходит реформа устройства отборочных этапов чемпионата. Например, теперь уже наш региональный контест (NEERC) не является частью европейских чемпионатов, а составляет отдельную лигу Northern Eurasia. Вообще, были выделены 8 лиг (читай, супер-регионов): Европа, северная Евразия, северная Америка, латинская и южная Америка, две лиги в Азии, Африка и, наверное, Австралия и Океания. Планируется, что в каждой лиге будет свой отдельный финал с медалями и лучшие 12 команд из каждой лиге получат путевку на финал чемпионата мира. Кстати, в такой классификации российские четвертьфиналы становятся полуфиналами! Пока это еще отдаленные планы, но первые шаги уже сделаны. Обсуждается своя квота на количество участий в финалах лиг (3 раза).

  3. К сожалению, в этом году значительная часть команд не получили визы совсем (5 команд) и еще десяток не смогли приехать полностью из-за визовых проблем одного из участников. Саратовский ГУ, видимо, оказывается в их числе. Было анонсировано решение пригласить в следующий финал без каких-либо отборов и учёта квот 5 команд, которые не смогли приехать в этом году. Кроме того, предлагается дать +1 год к участию (без учёта каких-либо других требований) всем командам, которые не смогли приехать полностью.

  4. Следующий финал чемпионата состоится в Пекине, а через год — в Коччи (Индия).

Такие новости.

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

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

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

Hello!

I'm happy to visit Rapid City and meet so many bright contestants here!

I have Codeforces laptop stickers with me and I'll be glad to give them as small gifts to participants of the World Finals. You can find me (I do not have many stickers, be quick) to get gifts. My friend collects coins, so I'll be glad to receive a coin from your country as a souvenir.

See you. And good luck on the contest!

Mike

UPD Still have few stickers. You have a chance!

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

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

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

Добрый день, Codeforces!

Совсем скоро, в четверг 11 мая в 18:35 (московское время) начнется Playrix Codescapes Cup. Вас ждем рейтинговый комбинированный раунд, который открыт для всех и каждого!

Задачи для вас предложили и подготовили KAN, Al.Cash, MikeMirzayanov и fcspartakm. В раунде будут задачи как для участников из Div.2, так и для Div.1. Надеемся, вам будет интересно.

Мне всегда приятен интерес со стороны компаний к нашему сообществу. Вдвойне приятно, когда узнаешь, что российская компания находится в самом топе своей нише в мире. Вот только недавно я читал статью о Playrix, а сейчас они проводят соревнование на платформе Codeforces и ищут талантливых разработчиков на C++. В программе призы топ-5 и футболки топ-50 участникам раунда!

Слово руководителю московского офиса Playrix Алексею Трушкову.

Всем привет!

Компания Playrix и Codeforces объявляют о запуске первого Playrix Codescapes! На кону ценные призы, а лучшие 50 участников получат памятные футболки.

Призы:
- Топ 1: iPadPro 9,7 + PowerBank + футболка с логотипом
- Топ 2-5: PowerBank + футболка с логотипом
- Топ 6-50: футболка с логотипом
- (Новое!) Случайные 5 участников (не топ-50, сделали хотя бы одну попытку): футболка с логотипом

Playrix – это команда из более 500 профессионалов, которая занимает первое место среди разработчиков мобильных игр СНГ. Вы можете подумать: «Мобильные игры? Зачем им сложные алгоритмы?». Нашел, что три фишки одного цвета собрались в линию – вот и все. А вот и нет! Сделать игру, которая была бы одновременно красивой, быстрой, и укладывалась в жесткие ограничения объема памяти и быстродействия мобильных устройств – та еще задачка. Чтобы с этим справиться, нам часто приходится применять весьма сложные и нетривиальные алгоритмические решения. Мы публикуем о них статьи habrahabr: о тонкостях FSE кодирования и оптимизации игры с помощью полигональных атласов, например. А бывает, что конвертеры графических форматов, созданные именитыми фирмами, не устраивают нас ни по качеству, ни по быстродействию. И тогда нам приходится создавать свой. Это далеко не полный список сложных задач, возникающих при разработке наших игр.

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

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

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

Добрый день.

Соскучились по чему-то новенькому? У меня есть чем вас порадовать!

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

Домены для групп

Вот вам пример такой группы. Она открыта для всех — заходите и смотрите: http://example.contest.codeforces.com

Домен группы

Теперь при создании/редактировании группы можно указать её (под)домен (от 3 до 20 букв-цифр, начинается с буквы). При указании домена группа будет доступна по ссылке вида http://yourgroupdomain.contest.codeforces.com. По ссылке такого вида верно следующее:

  • Ничего лишнего отображаться не будет — отображаемый сайт содержит только соревнования/блоги вашей группы и ничего другого.
  • Всё, что нужно для отображения — это доступ по HTTP до 77.234.215.194. Если вы проводите официальный контест, важную тренировку или контрольную — смело блокируйте весь остальной интернет, кроме этого IP-адреса.
  • Пока такие группы могут содержать только приватные соревнования и тренировки. Например, вы можете сделать свой мэшап и настроить его так, как нужно именно вам. Возможно, в будущем мы что-то придумаем с этим ограничением, а пока — так.
Разрешенные подсети для домена

Чтобы быть уверенным, что лишние люди не перейдут по вашей ссылке вида http://yourgroupdomain.contest.codeforces.com, можно ограничить доступ к ней по IP. Указывайте точные IP-адреса или подсети. Например, 188.93.56.35;212.193.32.0/19.

Язык интерфейса для домена

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

Html заголовка

Вы можете поменять хедер сайта по адресу http://yourgroupdomain.contest.codeforces.com, чтобы там был не привычный, дорогой сердцу логотип Codeforces, а логотип или название вашего мероприятия. Например, проводя межвузовскую олимпиаду в Саратове, я указывал <h3>Межвузовская олимпиада по программированию 2017 (Саратов)</h3>.

Пользователи домена (в сайдбаре)

С большой вероятностью, если вы проводите олимпиаду или что-то похожее, у участников может и не быть аккаунта на Codeforces, данные об участниках приходят из отдельной регистрации, и вы хотите видеть в интерфейсе нормальные имена в стиле Вася Тапочкин, Берляндский ГУ, 3 курс, а не хэндл участника.

Вы можете добавить синтетических пользователей именно для вашей группы с доменом (используя эти аккаунты, зайти в группу можно только через домен). Для этого используйте специальную настройку "Пользователи домена". Каждая строка соответствует одному пользователю и должна быть записана в формате id соревнований (через запятую) | хэндл | пароль | имя. Вот пример этой настройки для домена example.contest.codeforces.com:

213380 | u01 | 371111 | Petr Korotkevich
213380 | u02 | 627492 | Gennady Soejima
213380 | u03 | 491591 | Makoto Knuth
213380 | u04 | 581711 | Donald Cormen
213380 | u05 | 057259 | Thomas Mitrichev

Да, вы можете почувствовать себя Петром Короткевичем, зайдя на http://example.contest.codeforces.com, используя логин u01 и пароль 371111.

О настройках приватности

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

Для приватных контестов можно установить дополнительные настройки:

  • Разрешить дорешивание — можно ли решать задачи после официального окончания в неофициальном режиме дорешивания
  • Разрешить виртуальное участие — можно ли после окончания официального окончания (или когда угодно, если нет времени старта) участвовать виртуально
  • Разрешить участие вне конкурса — зарезервировано под участие вне конкурса, пока вне конкурса можно регистрировать только пользователей домена (для нужных пользователей нужно добавить символ ‘o’ после id соревнования, например “213380o | u01 | 371111 | Petr Korotkevich”)
  • Разрешить саморегистрацию — может ли участник группы зарегистрироваться на контест сам (если нет — регистрируйте его)
  • Разрешить незарегистрированным пользователям наблюдать за ходом соревнования — может ли участник группы, не зарегистрированный на контест, войти в контест и видеть задачи, статус, результаты и прочие подробности
  • Включить общий статус — могут ли участники видеть информацию о попытках других участников, или же им доступна информация исключительно о собственных попытках
  • Длительность заморозки и время разморозки. Будьте аккуратны при переносе контеста — время разморозки надо изменять самостоятельно.
  • Политика отображения тестов. Возможные варианты: “не показывать вообще”, “показывать непройденные тесты собственных решений”, “показывать полностью все тесты”
  • Политика отображения чужих попыток. Возможные варианты: “не показывать вообще”, “показывать решившим задачу”, “показывать всем”.

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

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

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

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

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

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

Удачи!

UPD 1: Соревнование завершено. Лучшие 20 команд получают путевку в VK Cup 2017 Раунд 3! Спасибо за участие.

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

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