Everybody loves duplicates

Revision ru1, by Rodionno, 2023-03-12 09:46:47

Легенда: на прекрасной солнечной улице, где-то в Сочи, живут чиселки в своих уютных домиках. Конечно же они любят общаться между собой. А именно есть несколько групп друзей, в каждой из которых состоят одинаковые числа. Но к сожалению числа не довольны тем, что им приходиться проходить мимо домов незнакомых чиселок, чтобы попасть к своим друзьям. Вам поручили снести несколько домов и выселить числа которые там живут (сначала выселить, потом снести), так, чтобы все оставшиеся числа были довольны. Но т.к. выселение чисел и разрушение домов плохо влияют на имидж улицы, то вы решили уничтожить как можно меньше домов.

Задача: есть массив из целых чисел (все числа от 1 до n). Надо удалить как можно меньше чисел, чтобы не было такой тройки индексов, что 1 <= i < j < k <= n и a[i] == a[k] и a[i] != a[j]. 1 <= a[i] <= n. Ограничения на n могут быть наверное почти любыми, т.к. я не смог придумать решение быстрее чем за 2^n. Возможно это вообще np полная задача и её нельзя решить быстрее.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru2 Russian Rodionno 2023-04-09 19:46:55 415 Мелкая правка: 'быстрее.\nВероятно' -> 'быстрее.\n\nВероятно'
ru1 Russian Rodionno 2023-03-12 09:46:47 1035 Первая редакция (опубликовано)