Обновить
11.32

Спортивное программирование *

Интеллектуальные соревнования

Сначала показывать
Порог рейтинга
Уровень сложности

Russian Code Cup 2013: разбор задач первого квалификационного раунда

Время на прочтение11 мин
Количество просмотров22K

В субботу, 13 апреля 2013 года, в 19 часов состоялся первый квалификационный тур. Несмотря на, казалось бы, несчастливую дату, для многих этот день оказался, наоборот, очень удачным.
В этом посте мы кратко расскажем об итогах первого квалификационного раунда и подробно разберем задачи, которые мы предлагали участникам.
В сегодняшнем разборе участвуют:
  • Олимпиада в Гномляндии
  • Один день Антона Сергеевича и его студентов
  • Проблемы хранения млурана в ядерной лаборатории Флатландии
  • Актуальный вопрос защиты планеты от метеоритов
  • Телепорты и то, какие препятствия они создают для кладоискателей

Читать дальше →

Олимпиадные задачи по программированию: что за зверь?

Время на прочтение5 мин
Количество просмотров62K
Недавно мы анонсировали конкурс задач по спортивному программированию. Организаторы конкурса попросили написать короткое объявление о конкурсе в блог ABBYY, но строгий редактор отказался печатать анонс без объяснения того, что же такое олимпиадная задача. Из этого родилась целая статья. Начнем, пожалуй, с примера олимпиадной задачи.
Этот же пример, чтобы по ссылке не ходить

ИТ-рестораны


ограничение по времени на тест: 4 секунды
ограничение по памяти на тест: 256 мегабайт
ввод: standard input
вывод: standard output

В городе N. очень плохо с дорогами, общепитом и IT-инфраструктурой. Всего в городе n перекрестков, некоторые пары которых соединены двусторонними дорогами. Дорожная сеть состоит из n - 1 дороги, по дорогам можно добраться с любого перекрестка на любой другой. Да, вы правы — дорожная сеть образует неориентированное дерево.

Недавно мэр города придумал способ, устраняющий проблемы с общепитом и IT-инфраструктурой, причем одновременно! Решено поставить на перекрестках города ресторанчики двух известных сетей кафе для IT-шников: «iMac D0naldz» и «Burger Bing». Так как владельцы сетей не дружат, категорически запрещается размещать рестораны двух разных сетей на соседних перекрестках. Есть и другие требования. Вот полный список:

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

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

Помогите мэру проанализировать ситуацию. Найдите все такие пары (a, b), что a ресторанов может принадлежать «iMac D0naldz», b — «Burger Bing», а сумма a + b максимальна.

Входные данные

В первой строке входных данных содержится целое число n (3 ≤ n ≤ 5000) — количество перекрестков в городе. Далее в n - 1 строке перечислены все дороги, по одной дороге в строке. Каждая дорога задана парой чисел xi, yi (1 ≤ xi, yi ≤ n) — номерами соединяемых перекрестков. Считайте, что перекрестки пронумерованы от 1 до n.

Гарантируется, что заданная дорожная сеть представляет собой неориентированное дерево с n вершинами.

Выходные данные

В первую строку выведите целое число z — количество искомых пар. Далее выведите все искомые пары (a, b) в порядке увеличения первой компоненты a.
Примеры тестов
Входные данные

5
1 2
2 3
3 4
4 5

Выходные данные

3
1 3
2 2
3 1

Входные данные

10
1 2
2 3
3 4
5 6
6 7
7 4
8 9
9 10
10 4

Выходные данные

6
1 8
2 7
3 6
6 3
7 2
8 1


Первое, что бросается в глаза, это необычное условие. Такой подход сложился исторически: писать краткую математическую формулировку не принято. Обычно ее пытаются связать с реальной жизнью, ну или с не очень реальной. Например, в USACO героями всех задач являются фермер Джон и коровы. Прежде чем приступить к решению после прочтения условия, участнику требуется выделить математическую формулировку задачи.
Читать дальше →

Russian Code Cup: как это было, как это будет

Время на прочтение4 мин
Количество просмотров10K

В 2013 году Mail.Ru Group организует очередную, третью по счёту, международную олимпиаду для самых сильных программистов – Russian Code Cup 2013. Мы задумывали олимпиаду как способ популяризации программирования, поднятия престижа профессии (и, конечно, как отличный повод измерить свою скорость мысли на интеллектуальной гоночной трассе).

Читать дальше →

Завершилось соревнование по дата-майнингу Heritage Health Prize

Время на прочтение3 мин
Количество просмотров11K

Крупнейшее со времен Netflix Prize соревнование в области анализа больших массивов данных подошло к концу. И хотя официальные результаты первой десятки и победитель будут объявлены через два месяца, итоги уже можно подводить.
Целью было спрогнозировать госпитализацию пациентов в течение будущего года на основании данных за предыдущие два года лечения. По замыслу спонсора это позволит больше внимания уделять именно тем пациентам, которые больше всего в нем нуждаются, за счет чего сэкономить часть из 30 млрд. $, ежегодно затрачиваемых в США на госпитализацию.
Заявленный организаторами приз в 3 000 000$ был недостижим из-за установленного предела точности в 0.4 RMSLE(меньше-лучше; лучший достигнутый результат 0.46; разница между первым и сотым местом 0.008; RMSLE — среднеквадратическое отклонение логарифмов) и предоставленных данных — в них просто не содержалось достаточного для достижения такого уровня точности количества информации. Поэтому фактически борьба шла за 500 000$, достающиеся лучшей команде, фонд промежуточных финишей и бесценный опыт.
Читать дальше →

Приходите на чемпионат по программированию: будем решать задачи и «ронять» код оппонентов

Время на прочтение5 мин
Количество просмотров17K

Финал прошлого чемпионата для студентов МГТУ – фото MDovzhenko

Правила простые — 5 «олимпиадных» задач разной сложности, плюс возможность «взламывать» решение оппонента сложным набором входных данных. То есть, сначала пишем свой код, потом «ломаем» чужой. Официально всё это называется Всероссийский Открытый Чемпионат по программированию «КРОК-2013» при поддержке Codeforces и Саратовского ГУ.

Зачёт индивидуальный, призы — 100 000 рублей за первое место, 70 тысяч — за второе, 50 тысяч — за третье. Плюс будет дополнительный игровой конкурс, победитель которого тоже получит приз. Для финалистов из РФ — бесплатная поездка в Москву, питание и проживание на два дня.

В прошлом году проводилось похожее мероприятие, тогда участвовало примерно 1500 человек (в квалификационном раунде), поэтому в этом году схема будет такая:
  • Квалификационный раунд – 13-14 апреля, удалённо (на следующий этап проходит не более 2000 участников).
  • Первый отборочный раунд – 15 апреля, удалённо (проходит 400 участников).
  • Второй отборочный раунд – 22 апреля, удалённо (проходит 50 участников).
  • Финал чемпионата состоится 16 и 17 мая в Москве в офисе компании КРОК.

Во всех раундах 5 задач, по мере приближения к финалу их сложность будет немного увеличиваться.
Читать дальше →

FightCode: танковые войны на JavaScript

Время на прочтение5 мин
Количество просмотров68K
FightCode — это онлайн-игра для программистов, построенная по образу и подобию классической Robocode. Для программирования танков используется JavaScript, все сражения происходят прямо в браузере, а редактор кода на сайте имеет встроенную «песочницу», которая позволяет в реальном времени видеть эффект от изменений кода. В отличие от многих других подобных игр, создатели неплохо поработали над дизайном — игровое поле и весь сайт в целом выглядят привлекательно и ярко.



Всё это делает FightCode одним из лучших вариантов для новичков в подобных играх или для обучения программированию. Проект довольно молодой, и несмотря на то, что на сайте зарегистрировано почти 9000 игроков, пробиться в первую сотню рейтинга можно без особых усилий. Очень удобно организована система боёв со случайными соперниками — из всех доступных роботов автоматически выбираются те, чей рейтинг близок к вашему. Очки считаются по системе Эло — победа над более сильным противником даёт гораздо больше очков, чем над слабым.

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

Бот для шашек (часть 1)

Время на прочтение2 мин
Количество просмотров101K
После прочтения поста на хабре «Шахматный бот», хотелось сделать свой, но так как посчитал, что шахматы сразу не получатся, то решил потренироваться на шашках (чтоб было больше мотивации взял знаменитые «Русские стрип-шашки»).
В отличии от выше упомянутого поста, где только несколько скринов и видеоролик, постараюсь рассказать подробнее…
Читать дальше →

Научитесь предпринимательству вместе с Imagine Cup. Подача заявок до 15 февраля 2013 г

Время на прочтение2 мин
Количество просмотров3.6K
Вот уже 11 год проводится международный конкурс студенческих программных проектов Imagine Cup. В этом году конкурс претерпел значительные изменения, и студенческие проекты ожидаются в трех номинациях: инновации, игры и социальные проекты. Региональные финалы конкурса пройдут более чем в 10 городах России в марте 2013 г., а 20 лучших команд будут отобраны для участия в российском финале конкурса и специальном образовательном акселераторе, а три лучшие команды получат финансирование от фонда посевного финансирования Майкрософт. Для команд, подавших заявки до 15 февраля, будет организована дополнительная обучающая программа онлайн совместно с НИУ ИТМО и Открытым университетом Сколково, включающая в себя технологическую и предпринимательскую составляющую.

Читать дальше →

Напиши алгоритм для МКС и выиграй 10 тыс. долларов

Время на прочтение2 мин
Количество просмотров54K

Международная космическая станция

НАСА объявило конкурс на оптимизацию алгоритмов движения солнечных панелей для Международной космической станции. Конкурс ISS Longeron Challenge проводится совместно с порталом TopCoder.
Читать дальше →

Заочная олимпиада ФУПМ МФТИ

Время на прочтение1 мин
Количество просмотров7.2K
Как и в прошлом году, в 2012-2013 году проводится Заочная олимпиада ФУПМ по программированию. Подробности на сайте judge.mipt.ru

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

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

Составителями контеста являются тренеры и часть состава команд MIPT Waterogers, золотых медалистов ACM ICPC 2011-2012 годов и MIPT Lambda, финалистов ACM ICPC 2012-2013. Все мы являемся аспирантами и выпускниками факультета управления и прикладной математики МФТИ.

Желаем успехов и надеемся, что задачи вам понравятся!
P.S. Вопросы задавайте через проверяющую систему.

Результаты новогоднего Хабра-соревнования по программированию, анализ и обсуждение

Время на прочтение11 мин
Количество просмотров39K
Честно говоря, я не ожидал такого количества решений: за 24 часа было прислано 265 решений, из которых после удаления повторных отправок осталось 183.

Из 183 решений у 11 был превышен допустимый размер решения, в 19 случаях — не удалось скомпилировать (об этих ошибках подробнее ниже). Далее 47 дали неправильные ответы на простых тестах (1..1000000), 8 не успели посчитать ответ за минуту (образец решения из условия задачи для 1млн работал 5 минут 36 секунд).

На сложных тестах — 5 решений выдали неверный ответ, и 12 — не уложились в одну минуту. 86 — успешно прошли все тесты.

Если кто потерял, вот топик о старте соревнования с условиями задачи.
Читать дальше →

Новогоднее хабра-соревнование по программированию-2013 (C++)

Время на прочтение3 мин
Количество просмотров47K
Все мы слышали поговорку: как новый год встретишь — так его и проведешь. Оливье в сторону!

Рассчитывать на 5 часов адского программирования в праздник было бы негуманно, потому задача всего одна и она весьма лапидарна:
Программа должна прочитать из стандартного потока ввода целое число N (от 1 до 230), и напечатать сумму простых чисел меньших либо равных N.
Побеждает тот, кто напишет самое быстрое решение, проходящее все тесты (хотя-бы один неправильный ответ — и решение отклоняется). Скорость решения оценивается на тестах в районе верхней границы допустимого диапазона N (но не ровно 230).

Победитель получает всеобщее признание, сотни кармы и приятное чувство что он порвал всех на Хабре. Долгие годы молодые поколения разработчиков будут восхищаться его кодом, а девушки — чепчики в воздух бросать. По меньшей мере первые 4 read-only пользователя будут приглашены на Хабр.
Читать дальше →

Отчёт с Олимпиады по Linux + задания с ответами

Время на прочтение6 мин
Количество просмотров34K
7 декабря прошел финальный тур Олимпиады по GNU/Linux среди студентов и молодых специалистов. Вот топик с анонсом: первый тур проводился дистанционно, второй — очно в Москве. Ниже отчёт и примеры заданий заочного и очного туров.
Читать дальше →

Ближайшие события

Путь к серебряной медали на Russian AI Cup 2012

Время на прочтение14 мин
Количество просмотров19K
Расскажу о своем участии в Russian AI Cup. Я — участник с ником Hohol, занявший второе место в финале.

У меня уже имелся некоторый опыт в написании бота для управления танком. Дело в том, что я вот уже пять лет участвую в ACM ICPC. Четвертьфинал нашего региона проходит в стенах Саратовского Государственного Университета, который, напомню, является одним из организоторов Russian AI Cup. На четвертьфинале каждый раз проводится неофициальный игровой конкурс Code Game Challenge. Суть все та же — напишите бота, который всех порвет. И хотя боты оказываются то волшебниками в шляпе и с посохом, то гоночными автомобилями, то суднами на воздушной подушке — мы всегда звали их танчиками.

Так как я участвовал в CGC аж пять раз, конкурс особого энтузиазма у меня поначалу не вызвал.

Но познакомившись с правилами поближе, решил, что конкурс мне все же интересен.
Читать дальше →

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

Время на прочтение5 мин
Количество просмотров38K
Проверить принадлежность точки невыпуклому многоугольнику за линейное время совсем не сложно. Один из самых распространенных методов — выпустить луч и посчитать число точек пересечения. Однако, при этом нужно аккуратно рассматривать случаи, когда точки многоугольника попадают на луч. Отсюда естественно возникает вопрос, как рассмотреть эти случаи проще всего?
Дать волю пефекционизму

Экспресс-школы и вебинары по Imagine Cup

Время на прочтение2 мин
Количество просмотров2.4K


Друзья,

Мы продолжаем серию экспресс-школ и вебинаров, на которых расскажем вам подробнее про онлайн-конкурсы Imagine Cup и про конкурс игр и ответим на ваши вопросы.

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

Путь к победе на Russian AI Cup 2012

Время на прочтение11 мин
Количество просмотров28K
Здравствуйте, Хабравчане!
Предлагаю вашему вниманию историю своего участия и победы в финале конкурса по программированию CodeTanks 2012.



Про соревнование я узнал на Хабре, решил выяснить подробнее, пошел на сайт проекта. Обрадовала возможность писать на С++ под Linux без танцев с бубном. Сразу подумалось, что будет выигрыш в производительности по сравнению с участниками, пишущими на языках типа Java/Python. Ну и сам формат соревнования мне понравился: до первого раунда две недели, дальше по неделе перерыва между раундами. Не нужно в жутком цейноте рожать правильно работающий код, а можно относительно спокойно все продумать и запрограммировать. Дальнейшее изучение правил и просмотр боев на сайте только укрепили решение участвовать: мне гораздо более интересно программировать AI в сложном и плохо определенном окружении, чем в полностью формализованном, типа настольных игр.

Читать дальше →

Imagine Cup: online-встреча по категории «Инновации»

Время на прочтение1 мин
Количество просмотров1.1K


Imagine Cup – крупнейший в мире ежегодный технологический конкурс, проводимый при поддержке Microsoft. Для нас большая честь и очень ответственная задача принимать международный финал Imagine Cup в России. К тому же этот год будет особенным и для самого конкурса.

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

Мы организовали серию вебинаров, чтобы помочь вам разобраться со всеми тонкостями каждой номинации. Первая онлайн-встреча пройдет 22 ноября в 17:00 (МСК) и будет посвящена категории «Инновации», наверное самой креативной во всем конкурсе.

Читать дальше →

Олимпиада по Linux-администрированию 27-го ноября

Время на прочтение3 мин
Количество просмотров17K


Через неделю, 27 ноября, начнётся первый тур олимпиады по администрированию ОС Linux.

Участвовать могут студенты и молодые специалисты. Первый тур дистанционный, второй — очный в офисе КРОК в Москве. Призы — ежемесячная стипендия, оплата официальных курсов Red Hat и последующих экзаменов RHCSA/RHСЕ. Первый тур — открытые вопросы и тесты, второй тур — попытка починить свой «поломанный» компьютер и поднять на нём нужные сервисы.

Я занимаюсь организацией Олимпиады, поэтому ниже — детали про то, как это проходит, зачем КРОК это делает, пара советов и пара типичных ошибок участников.
Читать дальше →

До старта первого раунда Russian AI Cup остались считанные часы

Время на прочтение2 мин
Количество просмотров4.7K
До старта Раунда 1 чемпионата Russian AI Cup остались считанные часы. Ажиотаж продолжает нарастать: в умении писать искусственный интеллект будут состязаться жители разных стран.

В связи с тем, что желающих поучаствовать становится все больше, организаторы Russian AI Cup — Одноклассники и Саратовский государственный университет — решили увеличить число стратегий, участвующих в Раунде 1. Таким образом, для первого раунда будет отобрано не 600, а 900 стратегий.

Измененная турнирная сетка выглядит так:


Раунд 1 будет проводиться с 10 по 11 ноября 2012 года. Тип боев — 6x1. Этот этап будет состоять из двух частей. Между двумя частями будет сделан перерыв, на время которого возобновит работу Песочница. Кстати, перерыв можно использовать для того, чтобы улучшить свою стратегию, приняв во внимание результаты первой части. Каждая часть будет длиться 12 часов, перерыв — 24 часа.

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

Внимание, изменение!
Читать дальше →