Пусть у нас есть на прямой несколько точек и мы нашли между ними все расстояния. Можно ли передвинуть эти точки на прямой так, чтобы между точками с максимальным расстоянием расстояние стало минимальным, между точками со вторым по величине расстоянием стало предпоследним по величине и т.д., между точками с минимальным расстоянием расстояние стало максимальным (что-то вроде обратной сортировки расстояний). Если можно, то как это сделать алгоритмически?
Более строго:
Допустим, у нас есть n чисел: x_1, ..., x_n. Всегда ли можно ли найти такие числа y_1, ... y_n, что для любых 1<= i, j, k, l <=n
если |x_i - x_j| < |x_k - x_l|, то обязательно |y_i - y_j| > |y_k - y_l| и
если |x_i - x_j| = |x_k - x_l|, то обязательно |y_i - y_j| = |y_k - y_l|.
a_b - это "a" с нижним индексом "b".
И если нельзя, можно ли это сделать с набором точек, где нет одинаковых расстояний?
Примечание:
Да, с баллами это я облажался. Тому, кто приведет пример алгоритма, или докажет, что это невозможно, отдам столько, сколько ему надо.
Примечание:
Баллы тут:
http://otvety.google.ru/otvety/thread?tid=7332fb25088c9768
Примечание:
Задача решена.
Примечание:
zZoMROT, три ПАРЫ точек с МИНИМАЛЬНЫМИ расстояниями.
Примечание:
zZoMROT
В лемме говорится, что если взять четыре точки, то их нельзя расположить так, чтобы расстояния между первой и второй, первой и третьей, первой и четвертой были минимальными среди всех расстояний. Это раз. В наборе (-1000, 1, 2, 3) точка -1000 входит в три максимальных расстояния. Это два. Если бы можно было передвинуть эти точки так, как я описал в задаче, то после перемещения точка, которая раньше была -1000, стала бы входить в три пары с минимальными расстояниями. А это невозможно по лемме.
Короче, читай внимательней, и всё станет ясно.
Примечание:
zZoMROT
Картинка - это замечательно, но по условию все точки лежат на одной прямой.
Примечание:
Иван Козначеев,
> расстояния
> (12)=1, (13)=4, (14)=6, (23)=3, (24)=5, (34)=2
> тогда по условию задачи должна иметься перестановка точек, такая, что после перестановки расстояния будут равны
> (12)=6, (13)=3, (14)=1, (23)=4, (24)=2, (34)=5
По условию задачи расстояния не должны быть такими же, как и раньше, просто максимальное должно перейти в минимальное и т.д, а сами расстояния могут стать произвольными. Вы немного неправильно поняли условие. Но в любом случае, задачу уже решили здесь:
http://otvety.google.ru/otvety/thread?tid=7332fb25088c9768
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.