Блог пользователя denys.astanin

Автор denys.astanin, 11 лет назад, По-русски

Есть ряд чисел от 1 до N. Каждое число может повторяться произвольное число раз. Необходимо преобразовать последовательность таким образом, чтобы одинаковые числа в ней располагались на одинаковом расстоянии друг от друга с минимальной погрешностью.

Пример:

Последовательность: 1 1 1 1 2 2 2 2 2 3 3 3 4
Результат: 2 1 3 2 1 3 2 1 3 2 1 4 2

Очевидно жадный алгоритм не подходит. Жадный с эвристиками, похоже, тоже не даст идеальных результатов.

Существуют ли какие-то уже разработанные подходы к реализации подобного рода "равномерных рассеиваний" ряда чисел?

UPD Расстояние между одинаковыми числами должно быть максимально возможным.

Полный текст и комментарии »

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