Ще один варіант ЧАСТИНИ


13

У мене зменшення наступної проблеми з розділами на певну проблему планування:

Введення: Список a1an додатних цілих чисел у не зменшуваному порядку.

Питання: Чи існує вектор (x1,,xn){1,1}n такий, що

i=1naixi=0and
i=1kaixi0for all k{1,,n}

Без другої умови це просто ДІЛЬНІСТЬ, отже, NP-важкий. Але друга умова, здається, забезпечує багато додаткової інформації. Мені цікаво, чи є ефективний спосіб вирішити цей варіант. Або все ще важко?

Відповіді:


15

(a1,,an)a1a2an

NN=(i=1n|ai|)+1

N,,N5n times,N+a1,,N+an,4N,,4Nn times
  1. x1,,xn

    1,,14n times,x1,,xn,x1,,xn,1,,1n times
  2. (x1,,x5n,y1,,yn,z1,,zn)n i = 1 a i y i = 0. ( y 1 , , y n )i=1naiyi0(modN)

    i=1naiyi=0.
    (y1,,yn)

Дякую Юрію. У моїй програмі важливо, щоб список вводу був упорядкований не зменшується, а введення у вашому скороченні не є. Я зміню питання, щоб зробити вимогу замовлення більш чіткою. (N,a1,,an,N)
Томас Каліновський

@thomas: Я цього не помічав. Тепер я оновив своє рішення.
Юрій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.