Codeforces и Polygon могут быть недоступны в период с 23 мая, 7:00 (МСК) по 23 мая, 11:00 (МСК) в связи с проведением технических работ. ×
Автор sslotin, 6 лет назад, По-русски

Всем привет!

Tinkoff.ru с сентября этого года запускает образовательные курсы для школьников по алгоритмам, математике, физике, машинному обучению и нейросетям. Отбор будет проходить в начале сентября, сами занятия с середины. Курсы будут бесплатными. Проходить в этом семестре будут в Москве, Нижнем Новгороде и Рязани — подробнее под катом.

Это не официальный анонс или что-то такое. Я просто хочу с точки зрения автора прогерских курсов рассказать, что у нас будет, и поотвечать на вопросы.

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

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

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

Привет, Codeforces!

В такой замечательный день недели, как 03.08.2018 17:45 (Московское время) состоится Educational Codeforces Round 48.

Продолжается серия образовательных раундов в рамках инициативы Harbour.Space University! Подробности о сотрудничестве Harbour.Space University и Codeforces можно прочитать в посте.

Этот раунд будет рейтинговым для участников с рейтингом менее 2100. Соревнование будет проводиться по немного расширенным правилам ACM ICPC. После окончания раунда будет период времени длительностью в 12 часов, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.

Вам будет предложено 7 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.

Задачи вместе со мной придумывали и готовили Иван BledDest Андросов, Роман Roms Глазов, Адилбек adedalic Далабаев и Владимир vovuh Петров.

Удачи в раунде! Успешных решений!

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

Место Участник Задач решено Штраф
1 eddy1021 7 299
2 ppc_qjd 6 240
3 halyavin 6 248
4 BigBag 6 250
5 IcePrince_1968 6 286

Поздравляем лучших взломщиков:

Место Участник Число взломов
1 halyavin 80:-21
2 Doriath 45:-10
3 antguz 25:-1
4 applese 12
5 Neon 11:-2
Было сделано 236 успешных и 417 неудачных взломов.

И, наконец, поздравляем людей, отправивших первое полное решение по задаче:

Задача Участник Штраф
A bazsi700 0:01
B bazsi700 0:05
C yjq_naiiive 0:17
D teja349 0:10
E yjq_naiiive 0:49
F eddy1021 0:41
G comfi 1:16

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

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

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

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

Всем привет!

Основное время Codeforces Marathon Round 2 закончилось. В предварительных результатах участники Rafbill и hakomo получили очень близкие баллы, но при этом достаточно сильно оторвались от следующей группы. Удастся ли им сохранить этот отрыв после итогового тестирования, и кто окажется выше? Это мы узнаем через несколько часов.

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

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

Обсуждение Codeforces Marathon Round 2
  • Проголосовать: нравится
  • +185
  • Проголосовать: не нравится

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

<copy-pasted-part>

Привет!

В 31.07.2018 17:35 (Московское время) начнётся Codeforces Round 501 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6 или 7 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Наверное, участникам из первого дивизиона они будут совсем не интересны, а для 1600-1899 покажутся простыми. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

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

Вам будет предложено 6 или 7 задач и 2 часа на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

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

  • принять участие не менее чем в двух рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

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

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацию моей работы. Спасибо моим очень хорошим друзьям Михаилу awoo Пикляеву, Максиму Neon Мещерякову и Ивану BledDest Андросову за помощь в подготовке и тестирование раунда.

Удачи!

</copy-pasted-part>

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

UPD1: Разбор опубликован.

UPD2:

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

Rank Competitor Problems Solved Penalty
1 Wavyn 7 245
2 delete4 6 168
3 BernardoSulzbach 6 212
4 dongshunyao 6 214
5 jiaangk_ 6 217

Поздравляем лучших взломщиков:

Rank Competitor Hack Count
1 halyavin 354:-66
2 test616.cpp 66:-7
3 OlaAdel 18
4 antguz 21:-7
5 wanderer163 20:-5

Всего было сделано 604 успешных взлома и 446 неудачных взломов!

И, наконец, поздравляем людей, отправивших первое полное решение по задаче:

Problem Competitor Penalty
A 314rate 0:01
B 314rate 0:06
C garipov.roma 0:07
D shanghaiKingCsl8 0:12
E1 Ka55un0 0:30
E2 Ka55un0 0:30
F shanghaiKingCsl8 0:48

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

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

Автор 300iq, история, 6 лет назад, По-русски

Всем привет!

28 и 30 июля состоятся туры EJOI — личного соревнования по программированию для юниоров, проходящей по правилам международной олимпиады школьников по информатике.

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

В связи с этим мы просим всех участников сообщества, собирающихся участвовать в соревновании, проявить уважение к себе и другим участникам соревнования и не пытаться читерить никоим образом, в частности, выясняя задачи у участников соревнования в Иннополисе. Если вы узнали какие-либо из задач EJOI (участвуя в ней лично, от кого-то из участников или каким-либо иным образом), пожалуйста, не пишите раунд. Участников олимпиады мы просим воздержаться от публичного обсуждения задач. Любое нарушение правил выше будет являться поводом для дисквалификации.

Раунд состоится в 30.07.2018 11:15 (Московское время) и продлится 2.5 часа. В каждом дивизионе будет предложено по 6 задач.

Задачи раунда были придуманы и подготовлены tourist, PavelKunyavskiy, niyaznigmatul, 300iq, GlebsHP, pashka, qoo2p5, VArtem, demon1999, Flyrise, ifsmirnov, isaf27, yeputons, cdkrot.

Также спасибо за тестирование туров never_giveup, vintage_Vlad_Makeev, izban, GoToCoding, Egor, doreshnikov, Sert, disa, wrg0ababd, craborac, budalnik.

И, конечно же, спасибо MikeMirzayanov за великолепные системы Codeforces и Polygon.

Всем удачи!

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

D1:

1) Um_nik

2) LHiC

3) dacin21

4) ksun48

5) Swistakk

D2:

1) UnproductiveGuy

2) WaldarDoppen

3) IHaveHir

4) cly_none

5) Shadi.Gh

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

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

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

Всем привет!

Недавно участнику yosupo задали вопрос о том, в чём преимущества языка программирования D в соревнованиях перед языком C++. Я регулярно использую D в соревнованиях (и при подготовке задач) с 2014 года, иногда вполне успешно (например, программа на D принесла мне победу в AZsPCs: Alphabet City). Так что хочу поделиться своим опытом. Постараюсь ограничиться только тем, что имеет значение для соревнований.

Общее ощущение такое. На D можно писать как на чистом C, когда нужен полный контроль над происходящим. А можно — как на Питоне, используя довольно мощную библиотеку. При этом D — компилируемый язык, так что в обоих случаях производительность сравнима с C++. Кроме того, после написания программы её гораздо проще отладить, чем аналогичную программу на C++.

В качестве примера давайте посмотрим на два решения одной недавней задачи.

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

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

Автор Harbour.Space, история, 6 лет назад, По-английски

Hi Codeforces!

We want to remind everyone that the 3rd Hello Barcelona Programming Bootcamp, which is from Sept 26 — Oct 4, is right around the corner, and the teams are gathering from all over the world!

We, alongside world champions Moscow State University, gold medalists Moscow Institute of Physics Technology, University of Tokyo, and bronze medalist ITMO, would like to extend a warm welcome to some of the newest teams to join us from Nanjing University, Universidad de La Habana, Lund University, Reykjavik University, Colorado School of Mines, University of British Columbia and Vilnius Gediminas Technical University. The teams will be training side by side in preparation for the upcoming regionals, and 2019 World Finals — we’d love to see you there!

Be sure to register before August 1st so everyone has time to get visas if needed, and of course for the Early Bird Discount of 15% or the Loyalty Discount* of 20% off registration for the boot camp. See you there!

The loyalty discount is offered to universities and individual participants that took part in Hello Barcelona Bootcamps and Moscow Workshops ICPC.

Learn more about Barcelona ICPC Bootcamp

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

PREVIOUS BOOTCAMPS' PARTICIPANTS

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

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

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

Приглашаю Вас поучаствовать в рейтинговом Codeforces Round #499. Дата и время проведения раунда: 26.07.2018 18:05 (Московское время).

В раунде Div.1 могут участвовать те, рейтинг которых не меньше, чем 1900. Остальные могут участвовать в раунде Div.2.

Не пропустите этот контест, ведь следующий Codeforces Round (Div.1, Div.2 или Div.3), номер которого начинается с цифры '4', будет через 3501 раунд!

Это первое соревнование, предложенное мной. Надеюсь, что оно Вам понравится.

На раунде будет по 6 задач для каждого дивизиона (4 задачи общие). Контест будет длиться 2 часа.

Главная героиня соревнования — космонавт Наташа, исследователь Марса. Если вы решите все задачи, её полёт пройдёт удачно.

Пять задач из контеста придумал я, Владислав Заводник (VladProg), задачи Div2.A и Div2.B придумал Михаил Мирзаянов (MikeMirzayanov), а задачу Div1.F придумали Ильдар Гайнуллин (300iq) и Дмитрий Саютин (cdkrot).

Также большое спасибо:

  • Ильдару Гайнуллину (300iq), Дмитрию Саютину (cdkrot) и Михаилу Мирзаянову (MikeMirzayanov) за помощь в подготовке задач;

  • Ивану Сафонову (isaf27), Андрею Райскому (GreenGrape), Егору Горбачеву (peltorator), Григорию Резникову (vintage_Vlad_Makeev), Costin-Andrei Oncescu (geniucos), Yuhao Du (jqdai0815), Ziqian Zhong (TLE), Андрею Халявину (halyavin) и Shuyi Yan (fateice) за тестирование раунда;

  • Михаилу Мирзаянову (MikeMirzayanov) за платформы Codeforces и Polygon.

Разбалловка будет объявлена ближе к началу контеста.

Желаю высокого рейтинга и жду Вас на соревновании!

UPD1

Обратите внимание: количество задач на раунде изменилось. На раунде будет по 6 задач для каждого дивизиона (4 задачи общие).

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

UPD2. Разбалловка:

Div.2: 500, 1000, 1250, 1500, 2000, 2500

Div.1: 500, 750, 1000, 1500, 2250, 2750

UPD3. Соревнование окончено. Поздравляю победителей!

Div.1:

  1. Kostroma

  2. molamola.

  3. Benq

  4. Petr

  5. scott_wu

Div.2:

  1. mayaohua2003

  2. SqwrIwy

  3. _yesname

  4. llgyc

  5. Sakits_tjm

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

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

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

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

Всем привет!

Приглашаю вас поучаствовать в Codeforces Marathon Round 2. Это соревнование начнётся во вторник, 24 июля 2018 года в 15:00 MSK, и продлится 7 дней. В соревновании будет одна задача, основанная на механике пары детских настольных игр. Скорее всего, задача не имеет быстрого полного решения. Так что решения будут оцениваться баллами, и победит тот, кто наберёт больше всего баллов.

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

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

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

Успехов в соревновании!

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

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

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

Hello, Codeforces.

This is a short blog to introduce you recent updates in Testlib and Polygon.

Testlib

Generate a Permutation

Now, you can easily generate a permutation with codes like this:

Code Result
vector<int> p = rnd.perm(n); Generates 0-indexed permutation of size n
vector<int> p = rnd.perm(n, 1); Generates 1-indexed permutation of size n

Function println

Now, you can easily print space-separated lines in a generator. A println uses cout, thus prefer faster method if you print huge data.

Some examples:

Code Result
println(5); Print 5 and line break
println(1, 2, 3); Print 1 2 3 (three space separated integers) and line break
println("one", "more", 5.5); Print one more 5.5 (three space separated items) and line break
vector<int> a; ...; println(a); Print vector a (separate elements with spaces) and line break
vector<int> a; ...; println(a.begin(), a.end()); Exactly the same as above
string b[5]; ...; println(b, b + 5); Print array b (separate elements with spaces) and line break

Here is the example of a generator to print a permutation:

#include "testlib.h"

using namespace std;

int main(int argc, char* argv[]) {
    registerGen(argc, argv, 1);
    
    int n = atoi(argv[1]);
    println(n);
    println(rnd.perm(n, 1));
}

Function readInts and similar

Just as a reminder. Use functions readInts/readLongs/readStrictDoubles or readTokens/readLines in a validator to read and validate a sequence of values. To read a size of an array and array itself, use:

int n = inf.readInt(1, 200000, "n");
inf.readEoln();
inf.readInts(n, 1, 1000000, "a");
inf.readEoln();
inf.readEof();

Polygon

Example Problems

I've introduced three example problems. Each Polygon user has READ-access to them. Please, use them as examples how to write a problem in Polygon. They are:

  • example-a-plus-b: simple A+B problem
  • example-almost-upper-bound: simple problem to illustrate non-standard checker (always consider to use readAnswer function like in the example), generators and stress tests
  • example-interactive-binary-search: simple interactive problem on a binary search

Other Small Fixes

  • Allow to upload files (for example, images) as a contest property/file to use them in the statements.ftl. File names should start with 'statements-'.
  • API has been improved to support general description, general tutorial, tags, test groups and points.
  • Show problem ID on the summary box (on the righmost top block).
  • Replace UTF-8 typographic characters to their ASCII equivalent (for example, replace em dash — with ---).
  • Caching issue has been fixed. Previously, it could show RJ on tests even if the reason has been fixed.

Thanks to fcspartakm for implementing most features in Polygon.

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

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