Комбинаторика на Турломе: графы, игры, клетчатые задачи, Дирихле
Ошибка.
Попробуйте повторить позже
Назовём словом любую последовательность букв. Со словами разрешается проделывать следующие операции: 1) удалить первую букву
слова; 2) удалить последнюю букву слова; 3) добавить копию слова после него. Например, если исходное слово , применение операций
даст
и
соответственно. Верно ли, что с помощью таких операций можно в любом слове переставить буквы в любом
порядке?
Источники:
Сначала заметим, что мы можем сделать циклический сдвиг букв в слове. Действительно, пусть у нас есть слово . Удвоим его и
удалим буквы
слева. Получили слово
.
Теперь приведём алгоритм. Пусть у нас имеется слово , имеющее вид
. Сделаем копию
раз, получим слово
,
состоящее из
копий
, идущих подряд. Рассмотрим самое крайнее слово
справа, из него будем делать нужную перестановку.
Пусть мы хотим получить некоторую перестановку
. Пусть
— минимальный индекс такой, что
. Уберём в самом
правом слове
все буквы от
до
. Теперь сделаем циклический сдвиг, переместим
в конец слова
. Далее будем следовать
аналогичному алгоритму, найдём в слове
букву
(она будет среди
первых слева букв), удалим все буквы перед ней и сдвинем её
в конец слова
и так дальше.
Спустя не более циклических сдвигов
последних букв слова
будут нужной перестановкой, останется только удалить лишние
буквы слева и мы получим требуемое.
Осталось объяснить, почему длины слова хватит. На первом шаге мы удаляем не более
букв справа и менее
букв слева, а на
остальных шагах — менее
букв слева. Таким образом, всего будет удалено не более
букв. Длина слова
равна
. Неравенство
вытекает из неравенства
, которое можно доказать индукцией по
. Таким
образом, мы сможем выполнить
циклических сдвигов и при этом точно останутся
букв, составляющих нужную
перестановку.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!