Рубрика «Спортивное программирование» - 14

Russian Code Cup — по следам отборочного раунда - 1

14 мая прошёл отборочный раунд Russian Code Cup 2017. По традиции выкладываем разбор задач и подводим итоги.

A. Маленькие числа
B. Новая клавиатура
C. Складывание фигуры
D. Остроугольные треугольники
E. Объединение массивов
F. Два поддерева

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

Читать полностью »

image

29 апреля прошёл третий и заключительный квалификационный раунд Russian Code Cup 2017. По традиции чуть-чуть хвастаемся результатами и выкладываем разбор задач.

A. Электронные таблицы
B. Смертный бой
C. Слегка палиндромные числа
D. Дерево и многочлены
E. Красивый отчёт

В этот раз зарегистрировался 5681 человек (из них 473 новых участника) — снова бьём свои же рекорды. По результатам раунда мы взяли ещё 202 участника в отборочный раунд. Все пять задач успешно решили пять человек.

Читать полностью »

Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.

Спортивный анализ данных, или как стать специалистом по data science - 1

Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

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

Читать полностью »

image

16 апреля прошёл второй квалификационный раунд Russian Code Cup 2017, на котором были побиты рекорды посещаемости за последние три года. По традиции чуть-чуть хвастаемся результатами и выкладываем разбор задач.

A. Очень важные гости
B. Наименьшее общее кратное
C. Портим порядок
D. Красно-чёрное дерево
E. Изучение массива

Читать полностью »

image

21 апреля мы открываем четвертое по счету соревнование по машинному обучению на платформе ML Boot Camp. Сегодня мы расскажем о новой задаче, обновлениях на сайте и других полезных ништяках. А если вы вдруг впервые слышите, что такое ML Boot Camp, заходите под спойлер, и мы все расскажем.

О платформе ML Boot Camp

ML Boot Camp — площадка для решения задач по машинному обучению. Периодически мы выкладываем на ней новые задачи и запускаем контест. Участники должны решить нашу задачу в течение месяца и прислать решение. Авторы лучших решений получат призы. В прошлом чемпионате мы дарили MacBook Air за первое место, iPad — за второе и третье и iPod nano — за 4-6 места.

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

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

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

Читать полностью »

Ломать нельзя помиловать, или что ждет хакеров на PHDays VII - 1

Пожалуй, самая ожидаемая часть форума — это конкурсы. В этом году мы подготовили обширную программу: участников ждут конкурсы, ставшие классикой PHDays, и кое-что совершенно новое. Основное правило остается неизменным — только реальные цели, только хардкор. Большинство соревнований PHDays VII пройдет в рамках Противостояния, центральным объектом будет умный город. Посетители форума смогут попробовать себя во взломе систем умного дома, камер видеонаблюдения, IoT-устройств, а также заглянуть под капот умного автомобиля и поломать систему автоматизации целого города.Читать полностью »

image
The Sword of Midnight by Mischeviouslittleelf

Второго апреля прошёл первый квалификационный раунд Russian Code Cup 2017, на котором были побиты рекорды посещаемости за последние три года. Предлагаем вам немного цифр и разбор задач раунда:

A. Марсианский волейбол
B. Раскраска стены
C. Магический артефакт
D. Менеджер памяти
E. ЛИСА

На раунд зарегистрировалось 4552 участника, из них 1001 — новички, открывшие для себя RCC лишь в этом году. Активных участников в этот раз оказалось в два раза больше, чем в 2015 и 2016 годах! Всего нам прислали 6586 решений. Как обычно, популярнее всего — C++ в разных вариациях (2346 решений — C++ 14, 1425 на плюсах 11-й версии и примерно по 500 решений у GNU C++ 6.2 и Visual C++ 2013). Второе место по популярности у Java 8.0 (649), а третье — у Python (402 на Python 3.5 + 60 решений на PyPy 2.4.0). Самыми непопулярными для спортивного программирования оказались Perl, D и Haskell (на последнем написали ровно одно решение за весь раунд). Список всех поддерживаемых нами языков можно найти здесь.

Читать полностью »

Рассмотрим следующую задачу. Найти период дроби 1/81. Уверяю, что для решения не потребуется ни калькулятор, ни деление столбиком. Для начала вспомним чему равно 81*(Период). Пусть длина периода n, тогда исходная дробь запишется как:

$frac{1}p=frac{Период}{10^n}+frac{Период}{10^{2n}}+frac{Период}{10^{3n}}+...$

Перепишем данное представление в следующем виде:

$frac{1}p=frac{Период}{10^n}+frac{1}{10^n}*(frac{Период}{10^{n}}+frac{Период}{10^{2n}}+..)$

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

$frac{1}p=frac{Период}{10^n}+frac{1}{10^n}*frac{1}p$

Ну а теперь то соотношение, которое мы искали:

$p*Период=10^n-1$

Для нашего случая это тождество будет следующим:

$81*Период=10^n-1$

Разделим левую и правую часть на 9, получим:

$9=111...111$

Читать полностью »

image

В декабре завершился Russian AI Cup 2016 — организованный нами ежегодный чемпионат по программированию искусственного интеллекта. Чемпионат для наглядности, понятности и простоты проводится в игровом формате.

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

Читать полностью »

Сегодня, в день смеха, рада поделиться с вами гороскопом для разработчиков. Отнеситесь к нему с юмором и чаще улыбайтесь!
Если по счастливому совпадению вы нашли что-то общее с персонажами, напишите в комментариях.
Авторские иллюстрации подготовлены Антоном , за что ему огромное спасибо!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js