Дано это:
Набор примерно из 800 псевдослучайных 64-разрядных целых чисел без знака.
2910088619203924111, 8611579852607706360, 10743563285097812384, 6712886796489718596, 17298387234720051377, 12467698534877227789, 3782074590599432740, 1419307814092336225, 7951308495700413025, ...
Целевое целое число
17358988457627394926
того же вида, в большинстве случаев не входящее в набор.
Гарантируется, что целевое целое число было получено путем операции XOR над подмножеством до 50 (или меньше) целых чисел из набора вместе.
Какой алгоритм является наиболее эффективным для поиска подмножества (любого, не обязательно наименьшего) целых чисел, которые составляют целевое целое при XOR?
Если NP-жесткий, что будет основной идеей, чтобы доказать это?
1 ответ
Работа в Z 2 эквивалентна поиску решения матричного уравнения Ax = b
, где A
- это двоичная матрица размером 64x800, образованная путем двоичного разложения каждого элемента. и b
- это 64-элементная двоичная матрица, представляющая решение.
Такую систему довольно легко решить, используя прямое исключение Гаусса.
Похожие вопросы
Новые вопросы
algorithm
Алгоритм - это последовательность четко определенных шагов, которые определяют абстрактное решение проблемы. Используйте этот тег, если ваша проблема связана с дизайном алгоритма.