![]() |
![]() |
![]() |
|||||
![]() |
Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы |
||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-02-15 16:29 Сегодня мы открываем регистрацию на международный конкурс по программированию Яндекс.Алгоритм. В этом году мы решили не только запуститься раньше, но и добавили два новых трека: оптимизационный и трек по машинному обучению. Каждый участник может выбрать, в каких треках участвовать. Разминочный раунд уже прошел в прошлое воскресенье, ниже вы можете найти разбор задач этого раунда. Разбор задач A. Время в зазеркалье Ограничение времени 1 секунда В офисе, где работает Бомбослав, установлены стильные дизайнерские часы. Их циферблат имеет стандартную разметку: на окружности расположены 60 делений, соответствующих минутам, 12 из которых (начиная с расположенного вверх от центра окружности, далее равномерно с шагом в пять делений) сделаны крупнее остальных, то есть соответствуют часам. Стильными эти часы делает тот факт, что циферблат не содержит никаких цифр, так как предполагается, что всем хорошо известно, какое деление соответствует какому значению текущего времени. Сегодня над рабочим местом Бомбослава повесили такие часы. Периодически поглядывая на них, он сначала заметил некоторую странность в направлении движения стрелок. Приглядевшись внимательнее, Бомбослав обнаружил, что на самом деле над его рабочим местом находится зеркало, а часы расположены на стене за его спиной. Это означает, что Бомбослав видит циферблат отражённым относительно вертикальной оси, проходящей через его центр. Теперь он хочет научиться быстро определять настоящее текущее время, зная время, которое показывается на отражённом циферблате. Часы устроены таким образом, что обе стрелки движутся дискретно, то есть что часовая стрелка всегда указывает на одно из 12 крупных делений, соответствующих текущему количеству часов, а минутная стрелка на одно из 60 делений, соответствующее текущему количеству минут. Формат ввода Формат вывода Решение: B. Фактор палиндромности Ограничение времени 1 секунда Аркадий — большой фанат использования машинного обучения в любой задаче. Он верит в безграничную силу волшебства этой популярной молодой науки. Именно поэтому Аркадий постоянно постоянно придумывает всё новые и новые факторы, которые можно вычислить для различных объектов. Напомним, палиндромом называется строка, которая одинаково читается от начала к концу и от конца к началу. Для каждой строки в своей базе данных Аркадий хочет найти самую короткую её подстроку, состоящую хотя бы из двух символов и являющуюся палиндромом. Если таких подстрок несколько, Аркадий хочет выбрать лексикографически минимальную. Формат ввода Формат вывода Решение: Подстрок длины два или три всегда линейное количество, и суммарная их длина также линейна, поэтому среди таких строк ответ можно выбрать наивным алгоритмом. Если же ни одна из подстрок такой длины не является палиндромом, то выведем C. Разделите их все Ограничение времени 1 секунда После работы Оля и Толя решили вместе сходить в тир. После прохождения вводного инструктажа и получения оружия они оказались на позициях для стрельбы, а напротив них находятся Перед тем как начать стрельбу, Оля и Толя хотят убедиться, что они смогут однозначно идентифицировать результаты своих выстрелов. Для этого они договорились провести прямую, которая поделит плоскость с мишенями на две части. Однако, чтобы никому не было обидно, они хотят провести прямую таким образом, чтобы каждая мишень была поделена ровно пополам, то есть для каждого круга и каждого прямоугольника должно быть верно, что прямая делит его на две фигуры равной площади. Когда Оля и Толя наконец закончили прорабатывать все условия разделения мишеней на две части, они начали сомневаться, что провести такую прямую вообще возможно, и просят вас ответить на этот вопрос. Формат ввода Формат вывода Решение: Теперь нам требуется лишь проверить, правда ли все центры заданных во входных данных фигур лежат на одной прямой. Для удобства будем рассматривать удвоенные координаты центров, тогда для получения центра прямоугольника достаточно сложить координаты двух противоположных вершин. Если среди построенного множества точек не более двух различных, то ответ точно положительный. В противном случае рассмотрим любую пару различных точек, и проверим, что все остальные точки лежат на определяемой этой парой прямой. Наиболее удобный способ проверить, что три точки D. Задача для собеседования Ограничение времени 3 секунды Алексей регулярно проводит собеседования с кандидатами на позицию стажёра. И хотя он провёл уже не одну сотню собеседований, в последнее время этот процесс даётся ему нелегко — кандидаты стали без труда решать все годами протестированные и отработанные задачи Алексея! Делать нечего, и в преддверии очередного собеседования Алексей придумал новую задачу. Имеется числовая последовательность, на первом шаге состоящая из двух чисел 1. На каждом шаге следующем шаге между каждыми двумя соседними элементами добавляется новый элемент, равный их сумме. После первых нескольких шагов последовательность выглядит следующим образом: На собеседовании Алексей хочет попросить кандидата написать программу, которая по заданному числу Формат ввода Формат вывода Решение: Лемма 1. Числа, оказавшиеся на каком-то шаге соседними, являются взаимно простыми. Докажем по индукции. База очевидна (1 и 1 взаимно просты). Пусть доказано для Лемма 2. Никакая упорядоченная пара соседних чисел Пусть это не так, тогда отметим номер Лемма 3. Любая упорядоченная пара взаимно простых чисел неизбежно будет соседней на некотором шаге. Пусть мы имеем числа Таким образом, каждая упорядоченная пара взаимно простых чисел ровно один раз встречается в качестве соседей в заданной последовательности. Поэтому задача сводится к подсчёту количества упорядоченных пар взаимно простых чисел, дающих в сумме Подсчёт же количества таких чисел является известной задачей и опирается на мультипликативность функции Эйлера: если E. Резервное копирование Ограничение времени 5 секунд Для обеспечения сохранности пользовательских данных Аркадий постоянно изобретает и тестирует новые схемы организации резервного копирования. В этот раз он пронумеровал все имеющиеся у него компьютеры с данными от 1 до В ходе текущего эксперимента Аркадий выбрал некоторую конфигурацию значений Аркадий хочет, чтобы эксперимент продолжался как можно дольше, но он вынужден соблюдать ещё одно дополнительное ограничение: если на каком-либо компьютере собирается Формат ввода Далее следует Формат вывода Решение: Заметим, что если у корневой вершины менее Итоговая сложность решения F. Процессоры-лжецы Ограничение времени 3 секунды Для испытания новых алгоритмов машинного обучения Евгений использует В результате неудачного эксперимента с новым алгоритмом некоторые из процессоров научились врать Евгению. Однако, благодаря тому, что была использована только базовая версия алгоритма, если какой-то процессор начинает врать, то он будет делать это всегда, поэтому результаты его работы всё ещё не сложно интерпретировать. Теперь перед Евгением стоит задача определить, какие из процессоров постоянно выдают неверную информацию, но сначала он хочет оценить масштаб проблемы. Для этого он послал каждому из процессоров вопрос: верно ли, что среди соседних ему процессоров есть и исправные процессоры, и процессоры-лжецы? На удивление Евгения, все процессоры ответили на такой запрос утвердительно. Теперь он хочет узнать, какое минимальное количество процессоров-лжецов может находится на плате? Формат ввода Формат вывода Решение: Посчитаем Работая с масками с помощью предподсчёта и битовых операций получим результат Упражнение: придумайте, как получить решение за время Дальше — уже знакомый по прошлому году оптимизационный трек. В этом году он будет состоять из двух раундов, по одной задаче в каждом. Задачи подготовят команды Поиска и Беспилотников Яндекса. На решение каждой задачи у участников будет неделя. Три победителя определятся по результатам обоих раундов и получат денежные призы. ТОП-128 участников трека получат футболки с символикой конкурса. Последним стартует новый и самый продолжительный — трек по машинному обучению. Он будет состоять из одной задачи, подготовленной для участников командой разработки голосового помощника Алиса и продлится целый месяц. Задача обещает быть интересной и дать возможность применить для ее решения весь ассортимент методов машинного обучения. По результатам будут определены три победителя, которые получат денежные призы. ТОП-128 участников трека получат футболки с символикой конкурса. Победителей всех треков мы будем рады видеть на финале Яндекс.Алгоритма в Санкт-Петербурге и обещаем для них интересную программу. А какие соревнования по программированию нравятся вам? Источник: habrahabr.ru ![]() Комментарии: |
||||||