Нижняя граница и удаление хеширования для поиска подмножества размера 4, которое добавляется к целевой сумме

Поиск подмножества из четырех элементов, которые добавляются к целевой сумме S, может быть выполнен за время O (n ^ 2) путем хэширования всех попарных сумм x, а также хеширования S - x до тех пор, пока не будет найдено нетривиальное столкновение. Однако у хеширования есть проблемы; можно ли исправить это, чтобы добиться гарантированного времени O(n^2) для поиска подмножества из 4 элементов, которое добавляется к целевой сумме S без хеширования, и, что более важно, известно, можно ли добиться большего, чем O(n ^2) время?


person user2566092    schedule 13.04.2014    source источник
comment
возможный дубликат найти четыре элемента в массиве, сумма которого равна заданному числу X   -  person Bernhard Barker    schedule 13.04.2014
comment
3SUM — более простая задача, и ее нельзя решить менее чем за O(n²) времени ( насколько нам известно), так что предположительно и этого быть не может.   -  person Bernhard Barker    schedule 13.04.2014
comment
@Dukeling Я вижу, что это частичный дубликат, потому что было найдено время O (n ^ 2), но сложность в наихудшем случае - это другой вопрос. Может быть, можно доказать, что 4SUM является омегой (n ^ 2) или чем-то близким, даже если это невозможно доказать для 3SUM.   -  person user2566092    schedule 13.04.2014
comment
Если целевые числа являются целыми числами в диапазоне размера C (например, A ‹= x_i ‹= A + C), то можно вычислить попарные суммы в O (C log C) с помощью БПФ.   -  person Niklas B.    schedule 13.04.2014
comment
Если связанный пост отвечает на остальную часть вашего вопроса, я предлагаю вам отредактировать свой вопрос, чтобы сосредоточиться на оставшейся части (но вам может повезти больше на Computer Science с этим). Хотя разве недостаточно того, что никто не смог придумать алгоритм быстрее, чем O(n²), для предположительно более простой задачи? Вам действительно нужно явное доказательство?   -  person Bernhard Barker    schedule 14.04.2014
comment
Интересный вопрос здесь заключается в том, можем ли мы сбрить журнал (n ^ 2 log n -> n ^ 2) без чего-то с плохим худшим случаем (например, хеширование). К сожалению, мы не знаем, как отсортировать S + S за время O(n^2).   -  person David Eisenstat    schedule 14.04.2014