단순한 아이디어로는, 음수 원소만 갖는 집합과, 양수 원소만 갖는 집합으로 분리해서 처리하는 방법이 있을수 있다.
양수 집합과 음수 집합에서 각각 fracturing search를 적용해서 가장 작은 K개의 값들을 구한다. 길이 K의 배열 2개를 얻을 수 있다.
이제 두 배열에서 원소를 한개씩 뽑아서 만든 페어들중 가장 값이 작은 K개를 다시 fracturing search를 적용해서 구한다
세번의 fracturing search가 필요하고 각각은 O(klogk)의 시간이 걸리므로, 총 시간복잡도 역시 O(klogk)에 된다
사실 이 방법을 생각한 뒤에, 더 좋은 방법을 떠올렸기에, 이 방법은 구현해보지 않았다. (실제로는 생각 못한 문제점이 있어서 안돌아갈수도 있다)
좀더 좋은 아이디어는, 음수 원소들을 양수 원소로 변환하는 테크닉이다. 음수값을 갖는 원소들의 합 S를 먼저 구하고, 집합에서는 음수값을 갖는 원소들에는 절대값을 씌워준다. 이렇게 양수로 바뀐 원소가 포함된 부분집합은, 원래 집합에서 그 원소가 포함되지 않는 부분집합과 대응된다.
예를 들어 {-1, -3, -10} 이라는 집합이 있을때
원래 집합의 부분집합들은 {}, {-1}, {-3}, {-10}, {-1, -3}, {-1, -10}, {-3, -10}, {-1, -3, 10} 이다