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


13

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

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

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

∑i=1naixi=0and
∑i=1kaixi⩾0for all k∈{1,…,n}

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

Відповіді:


15

(a1,…,an)a1≤a2≤⋯≤an

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

N,…,N⏟5n times,N+a1,…,N+an,4N,…,4N⏟n times
  1. x1,…,xn

    1,…,1⏟4n times,−x1,…,−xn,x1,…,xn,−1,…,−1⏟n times
  2. (x1,…,x5n,y1,…,yn,z1,…,zn)n ∑ i = 1 a i y i = 0. ( y 1 , … , y n )∑i=1naiyi≡0(modN)

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

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

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