Обновить
10.42

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

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

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

Конкурс по программированию: JSDash (итоги)

Время на прочтение1 мин
Количество просмотров6.6K
Сегодня мы публикуем окончательные результаты конкурса по программированию и награждаем тройку призёров.

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

  1. Yuri Chechushkov — 55954 очка. Приз 3000 USD.
  2. Ouanalao — 55653 очка. Приз 2000 USD.
  3. Anton Ivakin — 54100 очков. Приз 1000 USD.

(Результаты выше приведены для 100 тестовых уровней.)

Результаты тестирования опубликованы на GitHub.
Читать дальше →

Прототип проекта стоимостью $86 миллионов в 57 строках кода

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


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


Представлюсь: меня зовут Иван Греков, я из фронтенд-команды Badoo. Мне очень понравился этот пост, я просто не смог пройти мимо и не перевести его. Этот пост – отличный источник вдохновения для любителей прототипирования устройств и open-source-решений. Перевод публикуется с сохранением авторской точки зрения и, надеюсь, будет интересен вам.

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

Конкурс по программированию: JSDash (предварительные результаты)

Время на прочтение2 мин
Количество просмотров5.4K
UPDATE: Приносим извинения за ошибку, в результате которой решения были изначально протестированы на AWS-сервере типа m3.large вместо заявленного в правилах c3.large. Все решения были перетестированы, и результаты на GitHub обновлены.

Спасибо всем, кто принял участие в нашем конкурсе по программированию! Мы получили 132 решения от 66 уникальных участников. Неделю назад было примерно вдвое меньше — нельзя недооценивать волшебную силу надвигающегося дедлайна.

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

«Магическая константа» 0x5f3759df

Время на прочтение9 мин
Количество просмотров127K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →

Построение рекомендаций для сайта вакансий. Лекция в Яндексе

Время на прочтение17 мин
Количество просмотров6K
В последнее время мы много пишем о конкурсах по машинному обучению, в основном рассматривая их с точки зрения участников. Но организовать и правильно провести соревнование — тоже сложная задача. Компании учатся на своих ошибках и в следующие разы меняют структуру конкурсов. Например, RecSys Challenge 2017 с учётом опыта прошлых лет провели в два последовательных этапа. Андрей Остапец из компании Avito рассказывает об этих этапах, о различных признаках, основанных на истории поведения пользователей, и о том, всегда ли нужно использовать сложные модели для решения задачи. Команда Андрея заняла в RecSys Challenge седьмое место.


Новый чемпионат для backend-разработчиков: HighLoad Cup

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

Проведение конкурсов для IT-специалистов сейчас в моде: Kaggle с его задачами по Data Science, сплоченная тусовка олимпиадного программирования, набирающие популярность площадки для конкурсов по искусственному интеллекту, всевозможные хакатоны для мобильных разработчиков, олимпиады для админов, capture the flag для безопасников. Казалось бы, специалисту любой сферы несложно найти себе подходящую движуху, поучаствовать, прокачаться и что-нибудь выиграть.


Обделенными в этом плане остались лишь web-разработчики. Мы в Mail.Ru Group решили исправить это досадное недоразумение и теперь с радостью представляем вам HighLoadCup — конкурсную площадку на стыке backend-разработки и администрирования web-сервисов.


Если считаете себя хорошим web-разработчиком, умеете в deploy и highload — добро пожаловать!

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

Конкурс по программированию: JSDash (промежуточные результаты 3)

Время на прочтение2 мин
Количество просмотров4K
Спасибо всем, кто уже принял участие в нашем конкурсе по программированию! Мы получили 60 решений от 34 уникальных участников. До конца конкурса осталась одна неделя (до 17 августа 2017, 23:59:59 UTC), и мы публикуем последние предварительные результаты.
Читать дальше →

Лекция Владимира Игловикова на тренировке Яндекса по машинному обучению

Время на прочтение18 мин
Количество просмотров13K
Скорее всего, вы слышали об авторе этой лекции. Владимир ternaus Игловиков занял второе место в британском Data Science Challenge, но организаторы конкурса не стали выплачивать ему денежный приз из-за его российского гражданства. Затем наши коллеги из Mail.Ru Group взяли выплату приза на себя, а Владимир, в свою очередь, попросил перечислить деньги в Российский Научный Фонд. История получила широкий охват в СМИ.

Спустя несколько недель Владимир выступил на одной из тренировок Яндекса по машинному обучению. Он рассказал о своём подходе к участию в конкурсах, о сути Data Science Challenge и о решении, которое позволило ему занять второе место.


ICFP Contest 2017 — проверка на прочность для настоящих разработчиков

Время на прочтение5 мин
Количество просмотров7.8K
ICFPC — ежегодное соревнование для программистов. Оно проходит в онлайне и длится 72 часа. ICFPC 2017 начнётся в пятницу 4 августа в 12:00 (UTC) и закончится в понедельник.

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


Разбор задач финала Яндекс.Алгоритма 2017

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

На днях завершился Яндекс.Алгоритм 2017 — наш чемпионат по спортивному программированию. В финальном раунде 25 финалистам нужно было за два с половиной часа решить шесть задач. Первое место вновь завоевал Геннадий Короткевич из питерского ИТМО — это уже четвёртая его победа после состязаний 2013, 2014 и 2015 года. Никола Йокич из Швейцарской высшей технической школы Цюриха и выпускник Университета Токио Макото Соэдзима стали вторым и третьим, повторив свои прошлогодние результаты. Вот как распределились денежные призы: победа — 300 тысяч рублей, второе место — 150 тысяч, третье — 90 тысяч.




Заявки на участие в Алгоритме 2017 подали 4840 человек. Более 60% из них — россияне. На втором месте по количеству заявок — Беларусь, далее следуют Украина, Индия и Китай. В общей сложности на чемпионат зарегистрировались жители нескольких десятков стран, включая Сингапур, Камерун, Венесуэлу и Перу.


Мы по традиции публикуем формулировки и разобранные решения задач финала.

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

Конкурс по программированию: JSDash (промежуточные результаты 2)

Время на прочтение1 мин
Количество просмотров2.6K
Объявление: срок приёма решений продлевается до 17 августа.

Спасибо всем, кто уже принял участие в нашем конкурсе по программированию! Мы получили 39 решений от 26 уникальных участников. Публикуем новые промежуточные результаты.
Читать дальше →

Рекомендация первого трека для стриминга. Лекция в Яндексе

Время на прочтение8 мин
Количество просмотров6.6K
Сейчас проходит Data Science Game — международное студенческое соревнование по анализу данных. Ребята из МГУ выиграли отборочный этап, а затем рассказали о своём решении на одной из наших тренировок по машинному обучению.


Под катом — расшифровка и большинство слайдов.

Конкурс по программированию: JSDash (промежуточные результаты)

Время на прочтение1 мин
Количество просмотров3.4K
Спасибо всем, кто уже принял участие в нашем конкурсе по программированию! Приём решений ещё не окончен, но мы решили протестировать те решения, которые нам уже прислали, и опубликовать промежуточные результаты. Пока что мы получили 11 решений от 10 уникальных участников. Мы надеемся получить ещё много решений, поэтому итоговые результаты могут сильно отличаться от этих. Если нам пришлют достаточно много новых решений, проведём ещё одно промежуточное тестирование.

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

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

Чемпионы мира — о спортивном программировании

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


DataArt давно дружит с командой ИТМО по спортивному программированию и помогает ей. Этим летом в гости в наш петербургский центр разработки пришли Илья Збань, Иван Белоногов и Владимир Смыкалов. Чемпионы мира 2017 года рассказали о том, как именно программисты соревнуются между собой, о тренировочных сборах, любимых задачах и сильнейших соперниках.

Олимпиада по программированию


Главное соревнование программистов — международная студенческая олимпиада под эгидой ACM (ACM-ICPC, или просто ICPC) — проходит с 1970-х, а в виде, близком к сегодняшнему, оформилась в 1989 году. Олимпиада предназначена для студентов и аспирантов, за редким исключением к соревнованиям не допускают программистов старше 24-х лет. К тому же, испытывать силы в финале можно только дважды, а в региональных отборах разрешается участвовать всего пять раз. На ранних этапах, проходящих по всему миру, соревнуются тысячи команд. Около сотни лучших доходят до финала.

Код высших достижений

Время на прочтение4 мин
Количество просмотров7.4K
Почему мы любим спортивное программирование и почему Вам тоже стоит его полюбить.

image

Спортивное программирование объединяет турниры самого разного уровня — от школьных и студенческих олимпиад до финалов чемпионата мира. Крупнейшие международные компании организовывают свои контесты и выступают спонсорами авторитетных соревнований вроде ACM-ICPC. В нашей команде работают четыре чемпиона мира по программированию, и уже в четвёртый раз мы совместно с Codeforces проводим VK Cup — собственный турнир ВКонтакте.

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

Конкурс по программированию: JSDash

Время на прочтение6 мин
Количество просмотров21K
UPDATE: Конкурс завершён. Итоги.

Компания Hola объявляет долгожданный летний конкурс по программированию! Победителей ожидают призы:

  1. Первое место: 3000 USD.
  2. Второе место: 2000 USD.
  3. Третье место: 1000 USD.
  4. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

Авторы интересных решений будут приглашены на собеседования.



Правила



Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.

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

Не было бы счастья, да спортивное программирование помогло

Время на прочтение7 мин
Количество просмотров14K
Месяц назад завершился очередной Чемпионат мира по программированию ACM-ICPC (результаты), на котором блестяще выступили команды Санкт-Петербурга и Екатеринбурга. Чуть хуже показали себя команды из Москвы, Перми, Новосибирска, Саратова и Самары. Прекрасный результат у команды из Томска, один лишь выход в финал которой для многих уже стал неожиданностью. Заметьте, что почти все города — миллионники, они располагают крупными вузами и интересными компаниями для работы. А теперь представьте, что вы всё детство живете в городе с населением 50 тыс. человек, затем переезжаете в соседний город с небольшим вузом с сомнительным качеством образования, и впереди маячит перспектива работать на заводе за 20 тыс. рублей в месяц. Эффективные способы сойти с этого мрачного пути есть, и один из них — ACM-ICPC. Я хочу поделиться своей историей, рассказать, как помогает опыт ACM-ICPC в повседневной работе и как эти соревнования стали моей путевкой в жизнь. Если вы студент первого-второго курса и выбираете между скорым заработком и подготовкой к турнирам по программированию, то, я надеюсь, эта статья поможет вам определиться.


Фото icpcnews icpcnews / CC
Читать дальше →

Челленджи марафонского раунда Яндекс.Алгоритма 2017

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

И вновь, как и в прошлые годы, приближается финал конкурса Яндекс.Алгоритм. В этом году мы ввели новый раунд — марафонский. Он представляет из себя одну оптимизационную задачу без точного решения, которую участникам предлагалось «покрутить» в течение 48 часов. Такой формат похож на решение практических задач больше, чем популярные соревнования по спортивному программированию.




Особенностью большинства практических задач является отсутствие точного решения — или же алгоритмы его нахождения оказываются слишком медленными. Команде и отдельному разработчику нужно сделать хороший прототип решения, который будет внедряться в окончательный алгоритм. Задачи подобного рода давно встречаются в соревнованиях TopCoder, ежегодных соревнованиях Marathon24, Deadline24, Google Hash Code и других. Конкурс длится больше стандартных алгоритмических раундов, так что участники могут в спокойной обстановке и в удобное для себя время реализовать придуманный метод.


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


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


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

Хроники Противостояния: как взломать весь город за два дня

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


Давно известно, что битвы ИБ-специалистов с сетевыми злоумышленниками выглядят как красивые зрелища только в голливудском кино. А на деле и реальные атаки, и конкурсы по безопасности чаще напоминают математические олимпиады, красоту которых могут оценить лишь немногие.

Тем не менее, в этом году организаторы «Противостояния», главного конкурса конференции Positive Hack Days VII, сделали все возможное, чтобы решить эту противоречивую задачу — сделать состязание максимально приближенным к реальности, но при этом достаточно понятным и интересным для всех остальных посетителей конференции. И нам кажется, это удалось. Всего за тридцать часов конкурса команды хакеров продемонстрировали целый ряд успешных атак на объекты и инфраструктуры современного города, активно используя и беспроводную связь, и низкоуровневые уязвимости промышленных систем управления, и простые брутфорсы, и сложные многоступенчатые схемы вторжения.

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

ACM ICPC 2017: итоги финала

Время на прочтение3 мин
Количество просмотров8.4K
Вчера в Университете ИТМО встречали команду, которая принесла нам седьмую победу в международном чемпионате ACM ICPC.

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