Biorąc pod uwagę liczb tak, że istnieje przypisanie liczb który jest permutacją taki, żeA 1 ≤ A 2 ≤ . . . ≤ A k k ∑
?
Nie mogę znaleźć wydajnego algorytmu, który rozwiązuje ten problem. Wydaje się, że jest to problem kombinatoryczny. Nie udało mi się znaleźć podobnego problemu z NP-Complete. Czy ten problem wygląda jak znany problem NP-Complete, czy można go rozwiązać za pomocą algorytmu wielomianowego?
np-complete
decision-problem
gprime
źródło
źródło
Odpowiedzi:
Ten problem jest całkowicie NP.
Załóżmy, że wszystkie j są dziwne. Wiemy zatem, że skoro i 2 j - 1 + i 2 j = A j jest nieparzysta, jeden z i 2 j - 1 i i 2 j jest parzysty, a drugi jest nieparzysty. Możemy założyć, że i 2 j - 1 jest nieparzysta, a i 2 j jest parzysta. Pozwalając π j = 1Aj i2j−1+i2j=Aj i2j−1 i2j i2j−1 i2j iσj=1πj=12(i2j−1+1) , możemy pokazać, że jest to równoważne z prośbą o dwie permutacje,πiσ, liczb1…ntakich, żeπj+σj=1σj=12(i2j) π σ 1…n .πj+σj=12(Aj+1)
Ten problem jest znany jako NP-zupełny; zobacz ten problem z cstheory.se oraz artykuł W. Yu, H. Hoogeveen i JK Lenstry, do których odwołuje się odpowiedź.
źródło
Oto wskazówka na początek: ponieważ suma wszystkich liczb od do 2 k wynosi dokładnie k ( 2 k + 1 ) , rozwiązanie jest możliwe tylko wtedy, gdy w rzeczywistości i 1 + i 2 = A 1 , i 3 + i 4 = A 2 i tak dalej. Tak więc biorąc pod uwagę i 1 wiemy i 2 , i tak dalej. Również 3 ≤ A j ≤ 4 k - 1 .1 2k k(2k+1) i1+i2=A1 i3+i4=A2 i1 i2 3≤Aj≤4k−1
źródło
Jest to pasujący problem, dlatego można go rozwiązać za pomocą algorytmu Edmonda. Zobacz wikipedia
źródło