문제

복잡성 이론 과정에서 다음과 같은 문제를 해결했습니다.

$ a :={a_1, \ dots, a_n \} \ subset _ {\ mathrm {finite}} \ mathbb {n} $ 다음 조건이 적용되도록 $ \ mathbb {n} $ 에서도 $ b $ : $ a_i $ $ a_ {i + 1} $ 을 모든 $ i $ a_i .이 특별한 서브 세트 합계가 p.

주어진 조건으로 인해 $ B $ 은 첫 번째 $ a \ neq 1 $의 배수가되어야합니다.. $ a_1 \ neq 1 : b= a_1 \ cdot x $ .이 x를 찾는 것은 부분 집합 합계 문제로 돌아갑니다.

도움이되는 모든 도움이 될 것입니다.

도움이 되었습니까?

해결책

짧은 알고리즘은 @ $ a $ > $ a $ 에서 가장 큰 숫자를 찾고 $ b $ . $ b $ 이 0이되면 솔루션이 발생합니다. $ a $ 의 모든 숫자가 $ b $ 출력 번호보다 큰 지점에 도달하면 < / P>


다음에서는 알고리즘에 대한 공식적인 설명과 정확성 증명을 나열합니다.

여기에 알고리즘에 대한 공식적인 설명이 있습니다. $ a_0= a, b_0= b $ $ b_i $ $ i $ -the-threed의 "수학 용기"> $ b $ --th 반복. $ a_i $ $ a $ 이후 $ i $ - the 반복. 그런 다음 알고리즘은 다음과 같습니다. 각 단계에서 $ i= 1, \ dots $ $ a_j $ $ A_ {i-1} $ $ b_ {i-1} $ 보다 크지 않습니다. 그러한 숫자가없는 경우 출력 번호가 없으면 그렇지 않으면 $ b_ {i}= b_ {i-1} - a_j $ $ a_i= a_ {i- 1} \ setminus \ {a_j \} $ . $ b $ 이 0과 같으면 출력 예, isoterate

청구 1. 이전 알고리즘은 해당 질문에 설명 된 하위 집합 합계의 제한된 경우의 주어진 인스턴스의 정답을 출력합니다.

우리가 주장을 증명하기 전에 우리는 보조 주장을 증명합니다.

청구 2. $ a_1, \ dots a_n $ $ $ 오름차순으로. 그런 다음 $ \ sum \ limits_ {i= 1} ^ {k-1} a_i 모든 $ k \ [n] $ .

증명. (청구 2). $ k $ 에 대한 유도로 증명. n= 1의 경우 합계가 비어 있습니다. 이제 우리는 $ k $ 에 대해 그것을 증명합니다. $$ \ sum \ limits_ {i= 1} ^ {k-2} a_i + a_ {k-1} <2a_ {i-1} \ leq a_i, $$ 첫 번째 불평등이 유도 가설으로 인해 보유하고 두 번째는 $ A_ {k-1} $ 나누기 때문에 $ a {k} $ .

증명. (청구됨) 알고리즘이 예를 출력하는 경우, 주어진 세트에서만 숫자 만 선택하고 $ b $ .

이제 우리의 알고리즘이 출력하지 않으면 주어진 인스턴스가 아님이 아닙니다. 이를 위해 $ i $ 에서 $ a_j $ 을 선택하는 것을 선택합니다. 주어진 인스턴스의 솔루션에는이 요소가 있어야합니다. 우리는 $ i $ 에 대한 유도에 의해 이것을 증명합니다. $ a_j ', j'> j $ $ b_i $ 보다 엄격하게 큽니다. 유도 가설에 의해 $ a $ 의 모든 이전의 선택이 하나가 존재하는 경우 솔루션의 일부였습니다. 클레임 1, $ \ sum \ limits_ {i= 1} ^ {j-1} a_j $ < $ a_j $ $ a_i $ $ a_j $ 과 따라서 $ A_J $ 을 선택하지 않으면 모든 작은 요소를 선택하면 $ A_J $ 을 선택해야합니다.

다른 팁

문제의 추가 특별한 경우 : $ a_i= c ^ {i-1} $ 일부 $ c \ ge 2 $ .예를 들어 $ C= 10 $ 이면 $ a_1= 1, a_2= 10, a_2= 100,A_3= 1000, \ dots, a ^ n= c ^ {n-1} $ .

이 경우 $ 0 \ LE B 및 기본 $ c $ $ b $ 은 0과 1 이외의 숫자가 없습니다. 특히 일부 $ C $ 의 배수가 아닌 $ b $ 은 마지막 단락을 모순합니다.

이 문제에 대해 생각하는 데 도움이되는지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top