Конструктивы в алгебре
Ошибка.
Попробуйте повторить позже
Дан клетчатый прямоугольник , разбитый произвольным образом на доминошки .
Если две доминошки образуют квадрат , разрешается повернуть их обе на (сделать флип). Наша цель — последовательностью флипов сделать все доминошки горизонтальными (кирпичная кладка) за как можно меньшее количество операций.
Раскрасим наш прямоугольник в шахматную раскраску, считая левый нижний угол черным. Направим по сторонам квадратиков стрелочки так, чтобы черные квадратики обходились бы против часовой стрелки, а белые — по часовой стрелке.
Пусть нам дано некоторое замощение прямоугольника доминошками, которое мы обозначим через T. Сопоставим замощению его функцию высоты — это будет функция на вершинах клеток нашего прямоугольника, которую мы будем обозначать .
Определим её следующим образом. Выберем левую нижнюю вершину прямоугольника и положим ее высоту равной нулю; далее, каждую вершину соединим с путем, который проходит по линиям сетки и не пересекает доминошек. Этот путь состоит из стрелок, каждая из которых проходится либо в попутном направлении (т. е. сонаправлена с путем), либо в противоположном. Положим высоту равной разности числа попутных и противоположно направленных стрелок.
Назовем кирпичной кладкой разбиение , в котором все доминошки горизонтальны. Назовем приведенной высотой разбиения величину
Назовём рангом замощения число . Докажите, что любое замощение можно превратить в кирпичную кладку за флипов, причём за меньшее количество флипов это сделать невозможно.
Источники:
Утверждение. Функция высоты задаёт разбиение единственным образом.
_________________________________________________________________________________________________________________________________________________________________________________
Доказательство. Покажем, что для любых соседних вершин и ребро между которыми направлено от к либо либо . Действительно, первый случай реализуется, когда стрелка от от к — это стрелка на границе доминошки, а второй случай сотвествует тому, что это стрелка, которая разделяет доминошку на две половинки.
Рассмотрим те рёбра, разность функций высоты на концах которых равна . Эти рёбра будут образовывать границы доминошек нашего разбиения; напротив, те ребра, разность функций высоты на концах которых равна , будут «закрыты» доминошками. Далее рассмотрим какую-нибудь клетку. Все стрелки на её границе направлены в одном направлении: либо по часовой стрелке, либо против. Поскольку сумма приращений функции высоты при обходе этой клетки равна нулю, это значит, что существует ровно три ребра из четырех, для которых разность значений функции высоты на их концах равна единице, и одно ребро, для которого эта разность равна минус трём; оно и будет закрыто доминошкой. То же самое можно будет сказать и про клетку, смежную с данной по этому ребру. Тем самым все клетки окажутся разбитыми на пары, то есть в итоге из функции высоты действительно однозначно получится замощение нашего прямоугольника.
_________________________________________________________________________________________________________________________________________________________________________________
Будем вести индукцию по величине .
Если , доказывать нечего, т.к. тогда , и, согласно утверждению выше, . В противном случае рассмотрим в замощении функцию , пусть — вершина, в которой эта функция достигает глобального максимума (если таких вершин несколько, выберем любую из них). Заметим, что в этой вершине можно сделать флип. Действительно, рассмотрим квадрат , центром которого является вершина . Тогда или горизонтальные, или вертикальные ребра, выходящее из , должны быть закрыты доминошками разбиения (если из вершины выходит и горизонтальное, и вертикальное ребра, то, сдвинувшись по одному из них, можно увеличить значение , что невозможно, т.к. — точка максимума). Значит, квадрат действительно разбит на две доминошки, и флип возможен.
Сделаем флип с центром в этой точке. Данный флип уменьшит приведеную высоту вершины на а высоты остальных вершин оставит без изменений. Так мы получим новое замощение , для которого . Применяя предположение индукции, получаем требуемое.
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!