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

Если вы не спите в час ночи и не знаете чем заняться, то у меня есть для вас хорошие новости. В час ночи 17-го января 2014 г. состоится Testing Round 9, цель которого протестировать хорошенько платформу перед завтрашним раундом. Мы порелизили большое количество внутренних изменений, которые не видны пользователям, но влияют на всевозможную функциональность системы.

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

Если вы видите какие-то изменения в функциональности, то пишите о них в комментариях.

Спасибо.

UPD. Контест закончен. Спасибо всем, кто принял участие.

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

Анонс Testing Round 9
  • Проголосовать: нравится
  • +105
  • Проголосовать: не нравится

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

Всем привет!

Совсем скоро, 12 января в 19:30 MSK состоится Codeforces Round #223, автором которого являюсь я. Это мой десятый раунд на Codeforces и я надеюсь, что не последний.

Спасибо Геральду Агапову (Gerald) за помощь в подготовке раунда и Марии Беловой (Delinur) за перевод условий на английский.

Настоятельно рекомендую прочитать условия ВСЕХ задач.

Это первый раунд в этом году. Кстати, в прошлом году первый раунд для двух дивизионов тоже был мой(а по статистике +1/-1, оказался самым крутым из тех, что я давал). Надеюсь, что в этот раз задачи окажутся еще более интересными для Вас. Получится ли? Узнаем после окончания раунда :)

Gl & hf ! :)

Разбалловка в обоих дивизионах стандартная.

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

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

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

Проснулись уже?

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

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

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

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

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

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

Доброго вам предновогоднего дня!

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

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

  • Простой способ добавить соревнование из Polygon в Codeforces::Тренировки. Недавно появился подробный туториал (спасибо, elena!)
  • Черновики, встроенные в текстовые поля форм в проектах Codeforces и Polygon.
  • Множественные улучшения интерфейса участника соревнований.
  • Множественные улучшения библиотеки Testlib.
  • Улучшена производительность Polygon на больших ручных тестах.
  • Неоднократно обновлялись версии компиляторов до свежих.
  • Поддержаны языки: MS C#, Python 3, Go, JavaScript V8.
  • Обновлены тестирующие серверы Codeforces и внедрены в работу.
  • Polygon переведен на использование HTTPS.
  • Проведён первый сезон еженедельных тренировок Codeforces (12 эпизодов).
  • Поддержаны организации в профиле и рейтинг организаций.
  • Добавлены многочисленные контесты в Codeforces::Тренировки. Наверное, самое ценное — большое количество контестов Андрея Станкевича.
  • Внедрены тесты для чекеров и валидаторов в Polygon.
  • Внедрена поддержка макро-языка в скрипты генерации тестов в Polygon.
  • На Codeforces появились группы, с контестами и блогами.
  • Внедрена возможность составления мэшапов — контестов для личных и групповых тренировок.

Кроме того, за 2013-й год мы провели не только 64 классических раунда, но и несколько турниров:

А еще мы успели оказаться пресс-партнером финала ACM-ICPC 2013!

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

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

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

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

Доброго времени суток)

Приглашаем вас на последний раунд в уходящем году Good Bye 2013. Этот раунд будет не совсем обычным, потому что он будет общим для участников из обоих дивизионов.

Задачи для вас готовили авторы Геральд Агапов (Gerald) и Свечников Артур (ikar). А также, в проведении раунда нам помогал Павел Холкин (HolkinPV). Также говорим спасибо Виталию Аксенову (Aksenov239) за помощь. Традиционно хочется сказать слова благодарности Михаилу Мирзаянову (MikeMirzayanov) за системы Codeforces и Polygon, а также Марии Беловой (Delinur), которая перевела условия задач.

UPD: Распределение баллов по задачам похоже на стандартное — 500-1000-1500-2000-2500-3000-3500

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

UPD3: Поздравляем победителей последнего раунда в этом году. Рейтинг будет обновлен в течение нескольких часов.
1. BaconLi
2. Egor
3. liympanda

Желаем всем участникам удачи, высокого рейтинга и удовольствия от решения задач)

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

Анонс Good Bye 2013
  • Проголосовать: нравится
  • +347
  • Проголосовать: не нравится

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

Всем привет!

Авторы сегодняшнего раунда — craus и dalex. Мы не могли просто так пропустить раунд с таким красивым номером, поэтому в 19.30 MSK вам придется решать задачи, которые Павел для вас придумал, а я подготовил.

Благодарим Gerald и Delinur за помощь в подготовке соревнования и MikeMirzayanov за то, что у нас есть Codeforces.

Систему подсчета баллов и их распределение вы узнаете вместе с началом раунда. Все равно эта информация не несет особого смысла, пока контест не начался.

Полных решений и успешных взломов!

UPD. Контест завершился, поздравляем победителей!

Div. 1:
1. Petr
2. tourist
3. Egor

Div. 2:
1. k3e18
2. tongcx1988
3. LeMieux

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

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

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

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

Добрый вечер, Codeforces.

UPD: Новая функциональность недоступна до окончания раунда. В будущем она не будет отключаться на время раундов

Сегодня мы представляем вам предновогоднее обновление, главной новой функцией которого являются мэшапы.

 

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

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

Автор boleyn.su, 11 лет назад, перевод, По-русски

Привет, Codeforces Round #221 начнется 24го декабря в 18:00 по москве. Раунд будет проводиться в обоих дивизионах.

Задачи готовили whd, oGhost и boleyn.su. Это наш первый раунд на Codeforces, и мы надеемся, что он будет весьма хорош.

Хочется поблагодарить Gerald и alpc104 за помощь в подготовке раунда, а также MikeMirzayanov за создание платформы, где все мы можем соревноваться и общаться.

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

UPD1: Распределение баллов 500-1000-1500-2000-2500 для обоих дивизионов.

UPD2: Наши поздравления победителям! Также поздравляем с рождеством всех, кто празднует его сегодня!

Div 1:

1.Touma_Kazusa

2.al13n

3.rng_58

4.hmspmy077

5.uwi

Div 2:

1.bohuss

2.Tyg3R

3.xhsong

4.adamant

5.Kira96

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

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

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

Дошли руки и до поддержки столь модного сейчас JavaScript. Выбрана реализация V8, как наиболее трендовая и развиваемая. С помощью бубна и литра колы я скомпилировал V8 под Windows. Забавно оказалось — я всё думал, что придется городить workaround, чтобы поддержать чтение в JavaScript из консоли. Оказалась, что d8 сам всё умеет. Вот пример для нахождения A+B:

var line = readline().split(' ')
print(parseInt(line[0]) + parseInt(line[1]))

Было замечено, что если не поставить перевод строки в конце ввода, то readline вернет undefined. Еще один аргумент в пользу того, что все строки должны заканчиваться переводом.

В качестве небольшого исследования и чтобы потешить свою уверенность в мнении, что все языки без статической типизации бесконечно медленны, я написал реализацию HeapSort на С++, Java и JavaScript для сортировки 107 значений от 0 до 9999999. Видимо, этот бенчмарк неплохо показывает как быстро будут работать ваши решения, если вы пишите их в стиле старого доброго Pascal (всё на массивчиках, без выделений памяти и без мощных встроенных библиотек). Результаты для меня оказались неожиданными:

Language Compiler Running time, ms
C++ MinGW 4.7.2 32-bit 630
C++ MS VS 2010 32-bit 650
Java Oracle Java 6 32-bit 1060
Java Oracle Java 7 32-bit 1050
JavaScript V8 3.23.0 32-bit 1700
Pascal Delphi 7 32-bit 630
Pascal FreePascal 2.6.2 32-bit 730
Python 2 Python 2.7.4 32-bit 12500
Python 3 Python 3.3.2 32-bit 20000
Ruby Ruby 1.9.3p0 (2011-10-30, i386-mingw32) 32-bit 520000
Ruby Ruby 2.0.0p353 (2013-11-22, i386-mingw32) 32-bit 345000
Scala Scala 2.10.3 (over Oracle Java 7 32-bit) 1550
Go Go 1.2 32-bit 1780
D DMD v2.064.2 32-bit 800
C# Mono 2.10.9 32-bit 850
C# MS CSC .Net 4.5.1 64-bit 850
Perl Perl v5.12.2 for MSWin32-x86-multi-thread 195000

Отставание-то всего ничего! Я конечно понимаю, что такой код можно заанализировать и jit-ом прям в нативный закомпилить, но все же. Впечатляет. Кстати, а Java с её хваленным и нахаченным JIT не на высоте.

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

Вы можете оставлять в комментариях ссылки на pastebin или сабмиты в систему. Конечно, будут удобнее пулл реквесты прямо в проект.

Если будете писать свою реализацию, то постарайтесь написать аккуратно и опрятно. Пожалуйста, максимально придерживайтесь вариантов для C++, Java и JavaScript.

UPD 1: С помощью alexei-zayakin добавил Pascal.

UPD 2: С помощью gchebanov Wizmann и juancate добавил Python 2, Python 3, Ruby, Scala, Go.

UPD 3: Вот скомпилированный для Window V8.

UPD 4: Обновил версии некоторых компиляторов, обновил результаты.

UPD 5: Добавил D. Спасибо, Gassa.

UPD 6: Добавил C#. Спасибо, gmogelashvili.

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

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

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

Всем привет! Скоро состоится Codeforces Round #220 (Div. 2), автором которого являюсь я, Дмитрий Березин. Это мой третий раунд, и Сережа все еще верит, что последний :)

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

Большое спасибо Геральду Агапову (Gerald) за помощь в подготовке раунда, Марии Беловой (Delinur) за перевод задач, Михаилу Мирзаянову (MikeMirzayanov) за превосходную систему, и Сереже Нагину (Sereja) за то, что любезно (не выложил тут очередное фото) согласился помочь в тестировании.

Разбалловка будет. 500-1000-1500-2000-2500. Я же сказал, что будет :) Прошу прощения за задержку.

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

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

Разбор задач

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

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