Разбиение элемента в массиве таким образом, чтобы у нового массива было 2 подмножества решения проблемы подмножества суммы к нулю - PullRequest
1 голос
/ 18 октября 2019

У меня есть проблема, которая не совсем совпадает с проблемой суммы подмножеств и лучше всего показана на примере.

Учитывая массив вещественных чисел N, который гарантированно суммирует до нуля,

Example: [13.6, 21, 49, -40.8, -22.4, -20.4]

Найдите способ разбить последний элемент в массиве, в данном случае -20,4, на два числа, которые суммируются с исходным последним элементом, где при решении задачи о сумме подмножеств имеется два илибольше подмножества, которые в сумме до нуля. Для этого примера решение таково:

[13.6, 21, 49, -40.8, -22.4, -(20.4-x), -x]

Пусть x равно 8,2

[13.6, 21, 49, -40.8, -22.4, -12.2, -8.2]

Тогда два подмножества, которые суммируют с нулем, равны

[13.6, 21, -22.4, -12.2] and [49, -40.8, -8.2]

Проблема в том, что это эффективный способ найти все возможные x, которые позволят после этого корректное расщепление подмножествБолее общая проблема состоит в том, чтобы найти все возможные способы разбить последнюю запись на m разных записей так, чтобы было m действительных подмножеств с суммой до нуля.

Я довольно застрял и не уверен, как поступить. Спасибо за любую помощь или совет, данный! Также, если возможно, любое решение или подсказки для реализации в Python будут наиболее цениться!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...