Здравствуйте! Я столкнулся с задачей на Codeforces, в которой говорится, что мне нужно применить "сжатие координат". Я не очень понимаю, как это работает. Можете ли вы объяснить на примере? Задача звучит так: дано N точек на плоскости, каждая из которых задана парой целых чисел (X, Y). Мне нужно найти наименьшее возможное количество шагов, чтобы посетить все эти точки, начиная с первой. Как связано сжатие координат с этой задачей и как его применить для её решения? Буду благодарен за подробное объяснение!
Что в данной задаче является шагом? И раз сама задача с codeforces, то скинь лучше на нее ссылку, потому что в твоем изложении она выглядит как задача коммивояжера, которая решается только перебором.
А если интересует конкретно алгоритм сжатия координат, то нашел вот такой пример использования: ссылка. Если без примеров, а общими словами, то алгоритм используется, когда ты понимаешь, что тебя не интересуют конкретные значения координат, а только их порядок относительно друг друга. То есть для тебя набор точек
[-1, 2, 100, 5]
эквивалентен набору[0, 1, 3, 2]
. И в таком случае, ты можешь прямо сделать такое преобразование, чтобы потом хранить какую-то информацию о точках в массивах небольшой длины (N вместо MAXX).