Разбираем отбор Чемпионата МФТИ. Часть 2
В этом видео мы продолжили разбирать задачи отборочного этапа Открытого Чемпионата МФТИ по спортивному программированию 2026. В задаче «M. Перестановка — 37» смотрим, как посчитать минимальное количество обменов соседних элементов перестановки, необходимое для получения тождественной перестановки или одного из её циклических сдвигов, а в задаче «J. Хоккейный матч» — как задать состояния и переходы между ними по правилам, описанным в условии, и решить относительно них систему линейных уравнений. Таймкоды: 00:00:00 — Задача «M. Перестановка — 37» 00:15:40 — Как считать количество инверсий в перестановке 00:26:30 — Используем ordered_set в C++ (GNU PBDS tree) 00:36:00 — Разбор исходного кода решения на C++ 00:43:00 — Обход сбалансированного дерева поиска итераторами 00:48:34 — Получаем ordered_multiset из ordered_set 00:53:00 — Резюмируем всё о задаче «M. Перестановка — 37» 00:54:42 — Задача «J. Хоккейный матч» 00:58:20 — Вводим состояния и описываем переходы 01:06:45 — Решаем систему линейных уравнений 01:14:38 — Разбор исходного кода решения на C++ 01:20:10 — Заключение
В этом видео мы продолжили разбирать задачи отборочного этапа Открытого Чемпионата МФТИ по спортивному программированию 2026. В задаче «M. Перестановка — 37» смотрим, как посчитать минимальное количество обменов соседних элементов перестановки, необходимое для получения тождественной перестановки или одного из её циклических сдвигов, а в задаче «J. Хоккейный матч» — как задать состояния и переходы между ними по правилам, описанным в условии, и решить относительно них систему линейных уравнений. Таймкоды: 00:00:00 — Задача «M. Перестановка — 37» 00:15:40 — Как считать количество инверсий в перестановке 00:26:30 — Используем ordered_set в C++ (GNU PBDS tree) 00:36:00 — Разбор исходного кода решения на C++ 00:43:00 — Обход сбалансированного дерева поиска итераторами 00:48:34 — Получаем ordered_multiset из ordered_set 00:53:00 — Резюмируем всё о задаче «M. Перестановка — 37» 00:54:42 — Задача «J. Хоккейный матч» 00:58:20 — Вводим состояния и описываем переходы 01:06:45 — Решаем систему линейных уравнений 01:14:38 — Разбор исходного кода решения на C++ 01:20:10 — Заключение
