Я певний час думав над наступною проблемою, і не знайшов рішення для поліномів. Лише груба-чотирикласна. Я також намагався зменшити проблему NP-Complete, не маючи успіху.
Ось проблема :
У вас відсортований набір пар натуральних чисел.
Наступна операція може бути застосована до пари: Swap(pair)
. Він поміняє елементи пари, тому стане( 50 , 10 )
Коли пара в наборі поміняється, набір автоматично знову сортується (поміняється пара не виходить на місце, і він переміститься на своє місце в наборі).
Проблема полягає в тому, щоб побачити, чи є послідовність, яка, починаючи з якоїсь пари, підміняє весь набір із наступною умовою:
Після того, як пара поміняється, наступна пара, яку потрібно поміняти, повинна бути або спадкоємцем, або парою попередника в наборі.
Було б чудово знайти поліноміальне вирішення цієї проблеми або зменшення проблеми NP-Complete в ній.
Примітка.
Це вже проблема вирішення. Я не хочу знати, яка це послідовність: тільки якщо послідовність існує.
Приклад того, як сортується набір після заміни пари
Якщо я поміняю першу пару, вона стає на: , і після сортування набору (розміщення відсортованої пари у новій позиції) ми маємо:
Тоді мені доведеться поміняти або пара (попередник), або (наступник), і повторювати процес, поки всі пари не будуть замінені (якщо можливо).( 7 , 8 )
Важливо:
Ви не можете замінити вже помінену пару.
Якщо є послідовність операцій "swap", то всі пари повинні бути перейменовані на один раз і лише один раз.
Приклад, коли неможливо замінити всі пари
( 1 , 4 ) ( 3 , 2 ) ( 5 , 5 )