Все потоки
Поиск
Написать публикацию
Обновить
8.81

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

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

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

WorldSkills: Обзор от участника олимпиады

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

Привет, Хабр!

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

По следам Industrial Ninja: как взламывали ПЛК на Positive Hack Days 9

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


На прошедшем PHDays 9 мы проводили соревнование по взлому завода по перекачке газа — конкурс Industrial Ninja. На площадке было три стенда с различными параметрами безопасности (No Security, Low Security, High Security), эмулирующих одинаковый индустриальный процесс: в воздушный шар закачивался (а потом спускался) воздух под давлением.

Несмотря на разные параметры безопасности, аппаратный состав стендов был одинаков: ПЛК Siemens Simatic серии S7-300; кнопка аварийного сдува и прибор измерения давления (подсоединены к цифровым входам ПЛК (DI)); клапаны, работающие на накачку и спуск воздуха (подсоединены к цифровым выходам ПЛК (DO)) — см. рисунок ниже.



ПЛК, в зависимости от показаний давления и в соответствии со своей программой, принимал решение о сдуве или надуве шарика (открывал и закрывал соответствующие клапаны). Однако на всех стендах был предусмотрен режим ручного управления, который давал возможность управлять состояниями клапанов без каких-либо ограничений.

Стенды отличались сложностью включения данного режима: на незащищенном стенде сделать это было проще всего, а на стенде High Security, соответственно, сложнее.

За два дня были решены пять из шести задач; участник, занявший первое место, заработал 233 балла (он потратил на подготовку к конкурсу неделю). Тройка призеров: I место — a1exdandy, II — Rubikoid, III — Ze.

Однако во время PHDays никто из участников не смог одолеть все три стенда, поэтому мы решили сделать онлайн-конкурс и в начале июня опубликовали самое сложное задание. Участники должны были за месяц выполнить задание, найти флаг, подробно и интересно описать решение.

Под катом мы публикуем разбор лучшего решения задания из присланных за месяц, его нашел Алексей Коврижных (a1exdandy) из компании Digital Security, который занял I место в конкурсе во время PHDays. Ниже мы приводим его текст с нашими комментариями.
Читать дальше →

Чемпионат по программированию: разбираем задачи для фронтенд-разработчиков

Время на прочтение12 мин
Количество просмотров36K
На днях победители чемпионата по программированию, который завершился в начале лета, получили заслуженные призы. Для этого мы позвали их, а также всех остальных финалистов из топ-20 каждого направления в московский офис Яндекса. Ещё раз поздравляем тех, кто сумел выйти в финал.

Тем временем мы подготовили разбор задач чемпионата, которые предлагались фронтенд-разработчикам. Это задачи из квалификационного этапа. Напоминаем, что чемпионат проводился по четырём направлениям: бэкенд, фронтенд, машинное обучение и аналитика.

A. Градусник пробок


Условие


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

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

Окружи, откуси, распили: новое соревнование Mini AI Cup #4

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

Привет! Большинство из нас, специалистов в IT сфере, любит играть в игры — карточные, настольные, компьютерные и другие. Зачастую бывает, что игры пользы никакой не приносят, а хотелось бы всё и сразу — удовольствие, фан и знания. Специально для вас мы стараемся изобретать «игры для программистов», которые сочетают в себе всё вышеперечисленное. Предлагаем вам познакомиться с ними и приглашаем принять участие в соревновании по искусственному интеллекту Mini AI Cup #4!
Читать дальше →

«Для победы на чемпионатах команда должна дышать в унисон». Интервью с тренером Moscow Workshops ICPC

Время на прочтение6 мин
Количество просмотров2.9K
Финал чемпионата мира по программированию ICPC в июле 2020 года впервые примет Москва, и он будет организован МФТИ. В преддверии важного для столицы события Moscow Workshops ICPC открывают летний сезон тренировочных сборов.

Почему участие в тренировочных сборах — это верная дорога к победе, рассказал Филипп Рухович, тренер Moscow Workshops ICPC, двухкратный призер и победитель Всероссийской олимпиады школьников по информатике 2007-2009 годов, четырехкратный призер полуфинала ICPC и финалист ICPC 2014.


Филипп вместе с Евгением Белых, участником команды МФТИ Shock Content, которая заняла 10 место и получила бронзовую медаль на финале ICPC 2019 года в Порту
Читать дальше →

Разбор конкурса IDS Bypass на Positive Hack Days 9

Время на прочтение7 мин
Количество просмотров3.9K
На международном форуме Positive Hack Days 2019 впервые проходил конкурс IDS Bypass. Участникам надо было исследовать сегмент сети из пяти узлов, дальше либо эксплуатировать уязвимость сервиса, либо выполнить заданное условие (например, послать определенный HTTP-ответ) и таким образом добыть флаг. Найти эксплойт было легко, но задачу усложняла IDS: система стояла между участниками и узлами и проверяла каждый сетевой пакет. Атакующие видели на дашборде, если сигнатура блокировала их соединение. Ниже я расскажу подробно о самих заданиях и разберу их решение.

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

Разбор квалификации чемпионата по программированию среди бэкенд-разработчиков

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

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


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



В этот раз мы придумали шесть задач, для каждой из которых можно было придумать несколько альтернативных формулировок: одна придуманная задача порождала сразу четыре! Тем самым варианты получились сопоставимыми настолько, насколько это вообще возможно.


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

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

Краудсорсинг в ML Boot Camp. Считаем mIOU без картинок для новой задачи от Одноклассников

Время на прочтение2 мин
Количество просмотров4.8K
Привет! Лето — жаркое. Организаторы «айтишных» чемпионатов много сидели на солнце, сгорели и схватили удар, но главное — собрали новую задачу для очередного (уже девятого) контеста на платформе ML Boot Camp. Чемпионат пройдёт онлайн в течение месяца.


Сейчас на платформе зарегистрировано более 10 тысяч специалистов. Часто бывает, что задачи, которые на ней появляются, не всем по зубам (богам Kaggle в том числе). Для чего мы это делаем? Нужно развиваться и пробовать, причем на реальных данных, а не синтетическом булшите. Победы придут со временем.

Задача, которую хотим предложить вам решить в этом соревновании, отличается от всех предыдущих. Тема задачи — это детектирование объектов на изображениях. Формулировка задачи подразумевает, что в наборе данных будут картинки, но, что забавно, их нет. И это не петабайты данных. И даже не гигабайты.
Читать дальше →

Разбор конкурса «Конкурентная разведка» на PHDays 9

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


Восьмой год традиционный конкурс «Конкурентная разведка» предлагает участникам попробовать свои силы в поиске информации и между делом изучить новые техники OSINT. В этом году все задания были сосредоточены вокруг вымышленной ИБ-компании, позиционирующей себя как компанию — эксперта одной уязвимости. Участники конкурса должны были найти информацию о людях, связанных с этой организацией, не прибегая ко взлому, а полагаясь исключительно на помощь различных источников с просторов сети и на собственную смекалку.

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

По следам индустриального ниндзя: приглашаем участвовать в онлайн-конкурсе по промышленной безопасности

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


На прошедшем PHDays 9 мы проводили конкурс по взлому завода по перекачке газа Industrial Ninja. На площадке было три стенда, эмулирующих индустриальный процесс: под большим давлением в воздушный шар закачивался воздух. У каждого стенда был свой уровень сложности (по степени защиты): новичок, бывалый и ниндзя. При этом оборудование и технологический процесс не различались.

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

Соревнование по программированию Kotlin Heroes

Время на прочтение2 мин
Количество просмотров5.3K
JetBrains начала сотрудничество с Codeforces в продвижении языка Kotlin среди любителей спортивного программирования. Codeforces предоставляет Kotlin-разработчикам платформу, на которой можно посостязаться в алгоритмическом программировании и отточить свое мастерство. Вместе с Codeforces мы запускаем серию соревнований под названием Kotlin Heroes.

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

Джулия в лабиринте

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


Разбирая одну олимпиадную задачу мы отправимся по петляющим коридорам генерации лабиринтов и их прохождения, а также увидим, что на языке Julia простота реализаций алгоритмов граничит с их псевдокодом.

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

Вдохновлялись продакшеном и баскетболом: как Яндекс готовит чемпионат по программированию

Время на прочтение6 мин
Количество просмотров6.6K
В конце мая начнётся наш чемпионат по программированию. Он будет проходить в онлайне и позволит проверить себя в одной из четырёх сфер: бэкенд- или фронтенд-разработке, машинном обучении или аналитике данных. Задачи для секций разработали в управлении машинного интеллекта и исследований, Поиске и геосервисах.

image

Всем участникам сначала предстоит преодолеть квалификационный раунд. После подачи заявки вы сами выберете, когда его проходить. Квалификация 4-часовая и включает в себя от 4 до 6 задач. Самых лучших мы пригласим к участию в финале, который пройдёт 1 июня, тоже в онлайне. Результаты станут известны 5 июня. Победители в каждом направлении получат по 300 тысяч рублей, второе место — 150 тысяч рублей, третье — 100 тысяч. Регистрация открыта и продлится до последнего дня квалификационного раунда — 26 мая, но лучше отправить заявку пораньше.

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

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

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

МФТИ получил право провести Чемпионат мира по программированию ICPC в 2020 году в Москве

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


Вчера в конгресс-центре «Альфандега» в Порту объявили, что Москва выбрана площадкой для проведения старейшего и самого престижного в мире студенческого чемпионата по спортивному программированию International Collegiate Programming Contest (ICPC) в июне следующего года. Организатором финала выступит МФТИ при поддержке компании RDI.Creative.

За право принять финал боролись в этом году Шанхай, Сидней и Орландо. Исполнительный директор ICPC, профессор Университета Бейлор и член Ассоциации вычислительной техники Уильям Паучер поздравил столицу России с победой: «На финале чемпионата ICPC 2019 в Порту мы встретились с делегацией от МФТИ и наметили план проведения финала в июне 2020 года в Москве. В следующем году мы соберемся вместе, чтобы наградить самых одаренных студентов в области программирования, которые умеют изобретать решения для проблем будущего. Я в предвкушении того, что в Москве состоится крупнейший финал в истории ICPC, и я смогу приветствовать всех по-русски со словами: «Добро пожаловать!».
Читать дальше →

Интервью с Андреем Станкевичем про спортивное программирование

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


В рамках проекта АйтиХайп мы записали видеоинтервью с Андреем Станкевичем, легендарным тренером команды университета ИТМО по спортивному программированию, которая стабильно из года в год побеждает всех подряд на международных соревнованиях.

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

«Сражение в прямом эфире»: финал ICPC в Порту

Время на прочтение3 мин
Количество просмотров2.8K
Сегодня в португальском городе Порту пройдет финал международных соревнований по программированию ICPC 2019. В нем примут участие представители Университета ИТМО и другие команды из вузов России, Китая, Индии, США и других стран. Расскажем подробнее.

Как волонтёры со всего мира создают прямой эфир ICPC-2019

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


Меня зовут Лида Перовская, я работаю в Яндексе, а ещё с 2015 года помогаю организовывать прямой эфир International Collegiate Programming Contest. ICPC — студенческий чемпионат мира по программированию — проводится ежегодно с 1970-х. Это чуть ли не единственная олимпиада подобного уровня, которое развивается благодаря усилиям сотен волонтёров со всего мира. Сегодня я расскажу читателям Хабра о том, как устроена моя работа на ICPC изнутри. А ещё приглашаю посмотреть трансляцию мероприятия и попробовать собственные силы в решении задачек одновременно с участниками.

Для нас — волонтёров — важно, чтобы мероприятие было интересным и полезным и для участников, и для зрителей. Но сделать это непросто. На один только финал заявлено 135 команд из 110 стран, в каждой команде по три человека, и все они участвуют одновременно! Кого, когда и как пускать в эфир? Какой код показывать? Как комментировать, чтобы это было полезно?

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

Разбор задач. Бинпоиск_1

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

Здравствуйте, уважаемые хабровчане. Серия статей содержит разбор задач, которые дают в 8 классе на уроках информатики в Челябинском физико-математическом лицее №31. Немного истории… Наш лицей — одно из сильнейших учебных заведений России, который в рейтинге по конкурентоспособности выпускников занимает 5 место, уступив школам Москвы и Санкт-Петербурга. Ученики регулярно побеждают на олимпиадах всероссийского и международного уровня.
Данная статья лишена теории, она содержит только способы решения задач. Подробно про бинпоиск описано здесь.
Так вот, перейдем к задачам. Эти задачи подразумевают собой использование бинарного поиска, в том числе бинпоиска по ответам. Как мы знаем бинпоиск — это алгоритм поиска объектов по заданному признаку в множестве объектов. Применяем для отсортированных по возрастанию/убыванию списков. Всего 4 задачи, 2 из которых направлены на применение "алгоритма без изюминок".

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

Rekko Challenge

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

Rekko challenge


Сегодня мы запускаем Rekko Challenge 2019 — соревнование по машинному обучению от онлайн-кинотеатра Okko.


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


Подробнее про Okko, задачу, данные, призы и правила — ниже.

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

Классификация рукописных рисунков. Доклад в Яндексе

Время на прочтение8 мин
Количество просмотров5K
Несколько месяцев назад наши коллеги из Google провели на Kaggle конкурс по созданию классификатора изображений, полученных в нашумевшей игре «Quick, Draw!». Команда, в которой участвовал разработчик Яндекса Роман Власов, заняла в конкурсе четвертое место. На январской тренировке по машинному обучению Роман поделился идеями своей команды, финальной реализацией классификатора и интересными практиками соперников.


— Всем привет! Меня зовут Рома Власов, сегодня я вам расскажу про Quick, Draw! Doodle Recognition Challenge.