Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

Блог пользователя explicit-content

Автор explicit-content, история, 13 месяцев назад, По-русски

Здравствуйте! Я столкнулся с задачей на Codeforces, в которой говорится, что мне нужно применить "сжатие координат". Я не очень понимаю, как это работает. Можете ли вы объяснить на примере? Задача звучит так: дано N точек на плоскости, каждая из которых задана парой целых чисел (X, Y). Мне нужно найти наименьшее возможное количество шагов, чтобы посетить все эти точки, начиная с первой. Как связано сжатие координат с этой задачей и как его применить для её решения? Буду благодарен за подробное объяснение!

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
13 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Что в данной задаче является шагом? И раз сама задача с codeforces, то скинь лучше на нее ссылку, потому что в твоем изложении она выглядит как задача коммивояжера, которая решается только перебором.

А если интересует конкретно алгоритм сжатия координат, то нашел вот такой пример использования: ссылка. Если без примеров, а общими словами, то алгоритм используется, когда ты понимаешь, что тебя не интересуют конкретные значения координат, а только их порядок относительно друг друга. То есть для тебя набор точек [-1, 2, 100, 5] эквивалентен набору [0, 1, 3, 2]. И в таком случае, ты можешь прямо сделать такое преобразование, чтобы потом хранить какую-то информацию о точках в массивах небольшой длины (N вместо MAXX).