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

Автор MikeMirzayanov, 4 года назад, По-русски

Привет!

Я рад сообщить, что раздел EDU пополнился еще одним занятием — Z-функция строки. Теперь курс "ITMO Academy: пилотный курс" состоит из двух занятий:

  • z-функция
  • суффиксный массив

Подробнее об учебном подразделе на Codeforces (и его β-тестировании) можно прочитать по ссылке.

Перейти в раздел EDU →

Это занятие я записал немного в другой форме, чем это делал Павел pashka Маврин — он записывал лекцию у доски, я же решил попробовать рассказать материал поверх детальной презентации. Большое спасибо le.mur за помощь в записи и монтаже материала (и за терпение)!

Занятие состоит из 4 шагов:

  • введение;
  • определение z-функции, примеры;
  • z-алгоритм;
  • приложения z-функции.

Для этого занятия я специально разработал несколько практических задач.

Пишите в комментариях к этому посту ваши впечатления о формате и вообще о разделе EDU. В комментариях внутри курса можно оставлять ваше мнение именно к учебному материалу.

Надеюсь, что получилось интересно и полезно.

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

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

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

Hello Codeforces!

You may know that the crowdfunding campaign on the occasion of the 10th anniversary of Codeforces is in full swing! I am pleased to inform you that the Reply Code Challenge not only prepare a great competition but also supported Codeforces, which means all of us! Thanks!

Please pay attention to the information below. I am sure that this is a great chance to compete.

And here is the message from the Reply Code Challenge:

Hello Codeforces!

We're glad to invite you to the upcoming Reply Code Challenge, on 12 March. It's a free online team-based challenge and you can choose between:

  • Standard Edition: designed for university students and professionals.
  • Teen Edition: designed for students aged 14 to 19.

Great prizes are waiting for the winning teams:

  • Standard Edition: each member of the winning team will win a Mac Book Pro™ 16’’. Each member of the second and third place team will receive Apple Watch Series 5™ and Apple Air-pods Pro™
  • Teen Edition: 5.000€ for the first team in the leader board, 2.000€ for the second and 1.000€ for the third place team.

When&Where?

Online at challenges.reply.com on March 12th from 4.30pm to 8.30pm CET. To play you must form a team by March 11th.

Follow us on our Telegram Channel, WIP but ready soon for the Challenge: https://t.me/replychallenges

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

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

Автор MikeMirzayanov, 4 года назад, По-русски

Привет, Codeforces!

Я рад пригласить вас к тестированию нового раздела, который пока имеет рабочее название EDU. Я надеюсь, что когда-нибудь EDU станет самым настоящим учебным хабом для любителей соревнований по программированию. Будет здорово иметь в одном месте собранный учебный контент — с текстовыми и видео материалами, с подобранными тематическими задачами.

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

Перейти к β-тестированию →

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

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

В настоящее время раздел доступен исключительно на русском языке.

Спасибо Университету ИТМО за идею и поддержку реализации этой инициативы!

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

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

Автор MikeMirzayanov, 4 года назад, По-русски

Привет, Codeforces!

Недавно платформе исполнилось 10 лет. Мы принимаем ваши поздравления по ссылке https://codeforces.com/10years. Пожалуйста, ознакомьтесь с прогрессом в 2019-м году и поддержите краудфандинг-кампанию по случаю юбилея. Ваше пожертвование станет вкладом в будущее Codeforces, поможет его развитию и работе. Нам нужны ресурсы, чтобы продолжать проводить раунды, не останавливаться в разработке, внедрять нововведения и поддерживать существующую инфраструктуру.

В 2019-м году над задачами совместно с многочисленными авторами работали координаторы: KAN, 300iq, cdkrot, arsijo и недавно присоединившийся isaf27. А в этом году можно ожидать раунды скоординированные и другими опытными членами нашего сообщества. Заинтриговал?

Основные нововведения в платформе реализованы мной и разработчиками kuviman, cannor147 и geranazavr555. Большую организационную помощь оказала Una_Shem. Спасибо!

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

Время подвести итоги 2019-го года.

Партнёрские мероприятия

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

  • Telegram и лично Павел Дуров уже много лет поддерживают деятельность Codeforces, каждый регулярный раунд проводится с их помощью, спасибо!
  • Mail.Ru — Технокубок и Russian AI Cup
  • VK, VK Cup — теперь личное многотрековое соревнование для русскоязычных программистов
  • XTX Markets, Codeforces Global Rounds — серия из 6-ти раундов с отдельным зачетом и сувенирами для лучших участников
  • Harbour.Space University — серия образовательных раундов, отбор в летнюю школу Tech Scouts
  • JetBrains, Kotlin Heroes Rounds — соревнования на языке программирования Kotlin
  • Huawei — исследовательское соревнование (марафон) с элементами использования машинного обучения
  • Forethought, Forethought Future Cup — двухуровневое соревнование с финалом в штаб-квартире Forethought (Сан-Франциско) и интернет-трансляцией финала
  • Dasha.AI, Dasha Code Championship — двухуровневое соревнование с финалом в Санкт-Петербурге и Новосибирске (плюс интернет-трансляции раундов)
  • VeeRoute — исследовательское соревнование (марафон)
  • Microsoft, Microsoft Q# Coding Contest — необычное соревнование по квантовым вычислениям

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

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

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

Hello, Codeforces.

Sorry, but for a reason independent of Codeforces, we are forced to cancel the round. It was planned as a mirror of an onsite-olympiad, but suddenly it turned out that this would not work.

We will try our best to please you with other rounds. Stay tuned!

The round Educational Codeforces Round 80 (Rated for Div. 2) will start on Jan/14/2020 17:35 (Moscow time). Hope to see you as a participant!

MikeMirzayanov

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

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

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

I am happy to wish you a Happy New Year! I wish you a great, bright, interesting New Year! Just believe that it can become so: difficulties will be left behind, and ahead of you will be a joy of victories and discoveries.

I wish all of us new interesting problems, records and achievements! Set new goals and be sure to try to achieve them! And do not go far, we will try to make your 2020 year more fun!

I thank with all my heart for the contribution to the community of coordinators, problem writers, testers, and those who wrote interesting posts and comments. Many thanks to the sponsors, partners and customers: you help the community not to stand still, give the opportunity to hold interesting events. Thanks to all visitors to the website and just not indifferent.

See you in the new year!

MikeMirzayanov

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

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

Автор MikeMirzayanov, 4 года назад, По-русски

Привет!

Мне кажется все последние годы я что-то писал прям в то время, пока все нормальные люди отмечают Новый год. Это прям традиция какая-то. Собственно, большая часть базовой функциональности Codeforces была написана в новогодние праздники 2010-го года: авторизация, блоги, базовая поддержка соревнований.

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

В этот раз я выделил чуток времени, чтобы добавить в testlib поддержку разбора параметров командной строки. Мне очень не нравится в генераторах писать такое int n = atoi(argv[3]);. Собственно по нескольким причинам:

  • небезопасно к тому, что 3-го параметра командной строки может и не быть;
  • небезопасно к тому, что 3-й параметр командной строки может не оказаться корректным 32-х битным целым числом.

Теперь вместо этого следует писать так: int n = opt<int>(3);. Кроме того, вы может писать и такое int64_t m = opt<int64_t>(1);, такое bool t = opt<bool>(2); или даже string s = opt(4);.

Кроме того, я поддержал именованные параметры. Если параметров слишком много, то запись g 10 20000 a true менее читаемая чем g -n10 -m200000 -t=a -increment.

В таком случае теперь вы можете использовать такие сниппеты кода в вашем генераторе:

int n = opt<int>("n");
long long n = opt<long long>("m");
string t = opt("t");
bool increment = opt<bool>("increment");

Вы можете свободно смешивать чтение параметров по индексу и по именам.

Поддерживаются следующие варианты записи именнованных параметров:

  • --key=value или -key=value;
  • --key value или -key value — если value не является стартом нового параметра (не начинается с дефиса или после одного/двух дефисов не идёт буква);
  • --k12345 или -k12345 — если ключ k это одна буква и затем идёт цифра;
  • -prop или --prop — для включения булевских свойств.

Ниже записаны примеры для запуска нескольких вымышленных генераторов:

g1 -n1
g2 --len=4 --s=oops
g3 -inc -shuffle -n 5
g4 --length 5 --total 21 -ord

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

Спасибо за внимание.

А какие у вас есть традиции на Новый год?

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

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

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

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

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

Смена хэндла

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

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

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

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

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

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

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

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

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

Автор MikeMirzayanov, 4 года назад, По-русски
1259A - С днём рождения, Поликарп!

Автор: MikeMirzayanov

Разбор
1259B - Сделай нечетными

Автор: MikeMirzayanov

Разбор
1259C - Просто как one и two

Автор: MikeMirzayanov

Разбор
1259D - Сыграем в слова?

Автор: MikeMirzayanov

Разбор
1259E - Две ярмарки

Автор: MikeMirzayanov

Разбор
1259F - Красивый прямоугольник

Автор: MikeMirzayanov

Разбор
1259G - Выбывание на дереве

Автор: Endagorion

Разбор
1276E - Четыре камня

Автор: Endagorion

Разбор
1276F - Звёздочки и подстроки

Автор: voidmax

Разбор

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

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

Автор MikeMirzayanov, 4 года назад, По-русски

Добрый день!

В 14.12.2019 14:05 (Московское время) состоится Отборочный Раунд 4 олимпиады для школьников Технокубок 2020. Раунд будет длиться два часа. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд! Для опоздавших будет открыта дополнительная регистрация.

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

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

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

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

Зарегистрироваться на олимпиаду →
После регистрации на олимпиаду не забудьте зарегистрироваться на Отборочный Раунд!

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

Этот раунд составили задачи моего авторства, задачи Михаила Endagorion Тихомирова и Владимира voidmax Романова! Огромная благодарность тестерам: Kostroma, never_giveup, Supermagzzz, AdvancerMan, Stepavly, unreal.eugene, cannor147 и geranazavr555!

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

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

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

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

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

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

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

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

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

Hello,

Initially, the problem 1255B - Fridge Lockers was with no constraint $$$m \le n$$$ (just $$$m \le 2000$$$). Almost all participants (and me) invented wrong solution like: "make a cycle plus take the cheapest edge $$$m-n$$$ times". The counter-example is $$$n=5$$$, $$$m=6$$$ and prices are $$$3, 4, 1, 4, 5$$$. Look into the picture:

It was really unexpected for my intuition (and, of course, failed a proof).

Do you know the solution for this case?

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

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

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

Добрый день!

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

Сегодня в субботу, 27-го октября в 12:35 (МСК) состоится онлайн-зеркало 2019-2020 ICPC, NERC, Южный четвертьфинал (онлайн-трансляция, правила ICPC, предпочтительно команды).

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

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

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

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

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

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

Hello!

Codeforces supports a wide range of languages. Just yesterday I supported Java 11.

On the other hand, my website is not only just open public rounds and trainings, but also an advanced system of groups, custom domains and mashups. This ecosystem makes it possible to conduct private trainings, local contests/olympiads, provides the work of computer science clubs, and so on.

Sometimes you ask me to somehow limit the languages that can be used in a particular contest. For example, an official competition is held that does not support Rust. Or this contest is a practical session specifically for classes in Python.

Now you can configure allowed programming languages (more precisely, their groups) for your mashups and private trainings. Thanks for the help to geranazavr555 who helped to realize this opportunity!

Here are some screenshots of how it looks in action.


Edit a contest settings to specify the list of allowed languages.



You can choose program languages groups your contest supports.

Hope you enjoy the feature,
MikeMirzayanov

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

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

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

Привет, Codeforces!

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

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

MikeMirzayanov

UPD 1: Раунды будут нерейтинговыми, но по результатам тестирования лучшие участники отбора Технокубка будут приглашены в Финал. Мы сообщим подробности завтра. Кроме того, будет проведён дополнительный (четвёртый) отборочный раунд.

UPD 2: Ура! Сегодня пережили еще одну DDOS-атаку. Раунд прошел неидеально, но сорван не был.

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

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

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

Hello.

It is not an official announcement of the events. Just information: The contest on 22.09.2019 12:05 (Московское время) will be only for onsite finalists. The mirror round will be the next day on 23.09.2019 17:05 (Московское время).

Hope to see many participants. Guess, who are the main writers of the Final?

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

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

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

Hello Codeforces!

I hope you enjoyed the problems. I forgot to mention the contribution of testers to the preparation of problems in the round announcement. I apologize and correct myself. Many thanks to the testers: elizarov, ashmelev, KAN, arsijo, adedalic and Roms. Also many thanks to my co-authors: 300iq and geranazavr555. Special thanks to cannor147 who helped with translations.

1211A - Three Problems

Problem writer: MikeMirzayanov

Tutorial

1211B - Traveling Around the Golden Ring of Berland

Problem writer: MikeMirzayanov

Tutorial

1211C - Ice Cream

Problem writers: MikeMirzayanov, geranazavr555

Tutorial

1211D - Teams

Problem writer: MikeMirzayanov

Tutorial

1211E - Double Permutation Inc.

Problem writers: MikeMirzayanov, geranazavr555

Tutorial

1211F - kotlinkotlinkotlinkotlin...

Problem writer: MikeMirzayanov

Tutorial

1211G - King's Path

Problem writer: MikeMirzayanov

Tutorial

1211H - Road Repair in Treeland

Problem writer: MikeMirzayanov

Tutorial

1211I - Unusual Graph

Problem writer: 300iq

Tutorial

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

Разбор задач Kotlin Heroes: Episode 2
  • Проголосовать: нравится
  • +29
  • Проголосовать: не нравится

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

Hello!

We are very pleased to cooperate with XTX Markets, thanks to whom we are able to hold the Global rounds. Four of the six of them are already passed and here are the current results.

In short, XTX Markets is a leading quantitative-driven electronic market maker Launched in 2015, XTX Markets has rapidly become the number 1 FX spot liquidity provider by volumes globally, surging ahead of global banks.

Thanks for supporting our community!

We are happy to announce that XTX recently launched the XTX Markets Global Forecasting Challenge, powered by Correlation One.

The XTX Markets Global Forecasting Challenge is an online competition for aspiring quantitative professionals, where contestants are tasked to develop a predictive model based on training data provided by XTX.

Competition highlights include:

  • Over $100,000 in total cash prizes.
  • $7,500 for the best submission from a participant aged under-25 (as of 1st July 2019).
  • Exciting job opportunities in London.
  • Opportunity to compete against the best quantitative minds from around the world.

The competition is open to all data-minded contestants from 1st of July to 30th of September, 2019.

To get started, please sign up below.

APPLY HERE→

We hope you'd be interested!

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

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

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

Привет, Codeforces.

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

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

Встречайте, фазу довзламывания!

Теперь, после окончания почти любого соревнования у участников из Div.1 в течение недели возможность довзламывать любые решения в этом соревновании. Да-да, в том числе официальные решения с раундов. В случае удачного взлома:

  • ваш тест будет автоматически добавлен в задачу и будет использован в будущем при тестировании этой задачи;
  • если взломанное решение является дорешиванием, то его вердикт изменится на «решение взломано», иначе его вердикт останется без изменения;
  • участник, чье решение взломали, получит уведомление об успешном взломе его решения;
  • каждое решение может быть успешно взломано лишь единожды.

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

Надеюсь, что это нововведение окажется полезным и тесты к задачам станут еще лучше!

MikeMirzayanov

UPD: Наверное, позже мы продлим период довзламывания и уменьшим требования к рейтингу взломщиков.

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

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

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

Привет, Codeforces!

Вы же помните мой пост Новое: Диагностика решений на C++? Если нет, пожалуйста, прочтите его.

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

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

Как вам?

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

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

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

In 2019, with the support of XTX Markets, 6 rounds of the new Codeforces Global Rounds will be held. These will be common rounds for both divisions of 7–9 problems each. The duration of the rounds will be 2-3 hours, depending on the number and complexity of the problems. All such rounds will be rated for all participants. At each such round, 50 brand T-shirts will be handed out, and we will be happy to give T-shirts to all authors and problem testers.

The prizes for the 6-round series in 2019:

  • In each round top-100 participants get points according to the table.
  • The final result for each participant is equal to the sum of points he gets in the four rounds he placed the highest.
  • The best 20 participants over all series get sweatshirts and place certificates.

Current standings after two rounds:

Place Contestant = Round 1 Round 2
1 tourist 1706 1000 706
2 Um_nik 1281 706 575
3 ecnerwala 1000 1000
4 mnbvmar 900 497 403
5 sunset 814 443 371
6 TLE 599 575 24
7 ksun48 569 371 198
8 fateice 518 307 211
9 Endagorion 510 13 497
10 Petr 443 443
11 lych_cys 436 218 218
12 jqdai0815 403 403
13 yokozuna57 399 74 325
14 neal 382 211 171
15 molamola. 346 346
15 Rewinding 346 346
17 snuke 325 325
18 jonathanirvings 323 97 226
19 realDonaldTrunp 307 307
20 V--o_o--V 291 291
20 krijgertje 291 291
22 LHiC 277 277
22 yhx-12243 277 277
24 kmjp 272 226 46
24 ania 272 198 74
26 lumibons 265 265
26 visitWorld 265 265
28 sigma425 254 254
28 leaf1415 254 254
30 webmaster 246 60 186
31 zemen 245 204 41
32 uwi 244 244
32 Arterm 244 244
34 whzzt 241 171 70
35 dotorya 235 235
35 peltorator 235 235
37 MofK 206 8 198
38 vammadur 204 204
39 mareksom 201 99 102
40 AFO_OFA 194 78 116
41 riadwaw 192 192
42 yutaka1999 186 186
43 Kostroma 185 4 181
44 calabash_grandfather 181 181
45 voover 176 176
45 hos.lyric 176 176
47 Alex_2oo8 166 166
47 yosupo 166 166
49 TLEwpdus 161 161
49 supy 161 161
51 kdh9949 157 157
51 I_love_Tanya_Romanova 157 157
53 SpyCheese 153 153
53 E869120 153 153
55 Subconscious 149 149
55 maroonrk 149 149
57 mmaxio 145 145
57 Egor.Lifar 145 145
59 AghaTizi 142 142
59 Nazikk 142 142
61 eatmore 138 138
61 riantkb 138 138
63 VArtem 135 135
63 yuxiaogang 135 135
63 ainta 135 135
66 fyy2603 131 131
66 edisonhello 131 131
68 izban 128 128
69 voidmax 125 125
69 _rqy 125 125
69 KMAASZRAA 125 125
72 irkstepanov 122 122
73 Rzepa 119 119
73 jah_melon 119 119
75 aid 118 107 11
76 Egor 116 116
76 JOHNKRAM 116 116
78 G.Z.V.O.D.E.N 113 113
79 Cyanic 112 52 60
80 allllekssssa 110 110
80 kazuma 110 110
82 Maksim1744 107 107
83 weizhaohui 105 105
83 NoLongerRed 105 105
85 pobiren 102 102
86 Itst 99 99
87 TangentDay 97 97
87 chenjb 97 97
89 Merkurev 94 94
90 scanhex 92 92
90 sugim48 92 92
92 geniucos 90 90
92 dreamoon_love_AA 90 90
94 tfg 87 87
94 TimonKnigge 87 87
94 ToTLeS 87 87
97 Elegia 85 85
98 kczno1 83 83
98 Sugar_fan 83 83
100 _Happy_New_Year_ 80 80
100 131131yhx 80 80
102 Hazyknight 78 78
102 DEGwer 78 78
104 Roundgod 76 76
105 Radewoosh 74 74
106 Xellos 72 72
107 QAQAutoMaton 70 70
107 flying_fish 70 70
109 Vergara 68 68
109 oversolver 68 68
111 djq_fpc 66 66
112 hermano95 63 63
112 orz 63 63
114 laofudasuanbaofushehui 62 62
114 fuppy 62 62
116 ilyakor 60 60
116 kokokostya 60 60
118 Farhod 58 58
119 isaf27 56 56
120 craborac 54 54
120 superguymj 54 54
122 zerokugi 52 52
122 cuizhuyefei 52 52
124 kf11 50 50
124 Worteltje 50 50
126 imalyd 48 48
127 Reyna 46 5 41
127 Tommyr7 46 46
129 zeliboba 45 45
129 JettyOller 45 45
129 kobae964 45 45
132 natsugiri 43 43
133 wzp666 41 41
133 -14 41 41
135 camypaper 39 39
136 yfzcsc 37 37
137 orbitingflea 36 36
137 SidneyEarth 36 36
137 logicmachine 36 36
140 zhou888 34 34
141 fedoseev.timofey 32 32
141 hloya_ygrt 32 32
143 chemthan 31 31
143 Hezhu 31 31
145 satashun 29 29
145 why_no_girlfriend 29 29
147 HanwhaEagles 27 27
147 zhangqingqi 27 27
147 PinkieRabbit 27 27
150 gazelle 26 26
151 lzyrapx 24 24
152 DAyamaCTF 22 22
152 athin 22 22
154 cerberus97 21 21
154 Sonechko 21 21
156 HuaJun 19 19
156 WA_TLE 19 19
158 GyojunYoun 17 17
158 Rebelz 17 17
160 FizzyDavid 16 16
160 jijiang 16 16
162 cz_yixuanxu 14 14
162 gyz_gyz 14 14
162 majk 14 14
165 adadadd 11 11
165 AprilGrimoire 11 11
167 endless-chase 10 10
168 amnesiac_dusk 8 8
169 teapotd 7 7
169 BigBag 7 7
169 Golovanov399 7 7
172 zhouzhendongYa 4 4
173 ko_osaga 2 2
173 Sulfox 2 2
175 gamegame 1 1
175 rais.fathin38 1 1

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

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

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

During the past few days, we have done some internal optimizations (thanks, kuviman). Before the start of Codeforces Global Round 3, I want to be absolutely sure that everything works correctly. I ask you to help us to test the system. Please, take part in Testing Round 15 (Unrated). It is unrated, contains 1-2 easy well-known problems. The pretests will be extremely weak to increase the number of hacks. Thanks!

UPD: It seems everything works great. Thanks!

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

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

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

Привет, Codeforces!

Сегодня мной было выпущено важное обновление Polygon – частичная поддержка расширенных свойств ресурсов. Основная задача, которая решается этим обновлением – это поддержка разработки задач с грейдерами.

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

Например, в условии задачи может быть написано, что в решении на С++ надо реализовать функцию, которая имеет вот такой прототип int sum(int a, int b) и отослать реализацию. В таком случае, участнику достаточно отправить исходный код, который содержит реализацию этой функции. Затем при тестировании решения по такой задаче система должна скомпилировать и слинковать в единый исполняемый файл присланный участником файл и специальный подготовленный жюри файл, который будет содержать весь остальной необходимый код (в частности, там будет функция main).

В случае задачи A+B такой файл, который и называется грейдером, может выглядеть так (grader.cpp):

#include <iostream>
int sum(int a, int b);
int main() {
	int a, b;
	std::cin >> a >> b;
	std::cout << sum(a, b) << std::endl;
}

Решение такой задачи может выглядеть так:

int sum(int a, int b) {
    return a + b;
}

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

Теперь в Полигоне реализована базовая поддержка таких задач (спасибо PavelKunyavskiy и cannor147 за помощь!), я начал с поддержки только C++.

Для того, чтобы добавить файлы грейдера, вы должны загрузить их как ресурсы, указав дополнительные расширенные свойства: что ресурсы применимы к языкам группы cpp.*, что это ресурсы времени компиляции и что с ними надо компилировать именно решения.

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

Обратите внимание, что вся дополнительная информация для ресурсов доступна в дескрипторе задачи problem.xml, а также реализована поддержка нововведения в API (смотрите документацию по методам problem.files и problem.saveFile).

Позже будет добавлена поддержка некоторых других языков, возможность подобным образом прицеплять ресурсы не только к решениям, но и к валидаторам/интеракторам/чекерам. Конечно, следует ожидать поддержку таких задач на Codeforces. Отмечу, что подобные задачи могут найти своё применение не только в олимпиадном движении, но и просто в образовательном процессе. Например, я легко могу представить учебную задачу на Java, в которой требуется реализовать заданный интерфейс, а вся рутина (unit-тесты и прочие вещи) спрятаны в коде ресурсов.

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

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

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

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

Many thanks to problem authors — Tech Scouts instructors. Please, review the author's solutions. They are beautiful and short. Our community has many to learn from mathematicians!

Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

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

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

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

What do you know about real Mathforces? This is a world full of numbers, theorems and formulas. Are you ready for the adventure full of challenges and dangers in a new world?

Our friends from Harbour.Space University, the International Tournament of Young Mathematicians (ITYM) and St. Paul's International School Barcelona for the second time organize Tech Scouts — two week International summer camp for high school students. I really think it is a valuable and useful initiative.

For some participants the organizers cover participation fee, the decision is based on the results in special online math test and phone interview.

I invite you to take part in Mathforces: Tech Scouts Online Test 2018 (just fun and practice, unofficial, unrated). It was offered to candidates a year ago, in 2018. This year participants can use it as a practice. I think for many of you it will be interesting to compare your math skills. It starts on May/05/2019 11:05 (Moscow time).

The duration of the test will be 2 hours. You will be offered about 20 math questions. Each of them are expected to be solved using math skills. Please refrain from writing code and try to solve problems without any programming.

You can skip questions or re-submit answers during the test. All the answers will be judged after the test ends. Each question costs 1-3 points in case of the correct answer. Please, do not share your answers before the end of the test.

For sure, the test will be unrated.

Please refrain from participation if you have already participated in this test last year.

UPD 1: The problems will be in English.

UPD 2: The tutorials are published.

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

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