Учитывая, что у меня есть m непустых различных множеств (обозначенных Z[1], Z[2], ..., Z[m]), я стремлюсь вычислить сумму всех возможных подмножеств, в которых есть ровно один элемент из каждого набор. Размер каждого подмножества определяется как произведение его членов. Например:
Z[ 1 ] = {1,2,3}
Z[ 2 ] = {4,5}
Z[ 3 ] = {7,8}
Должно получиться:
1*4*7 + 1*4*8 + 1*5*7 + 1*5*8 + 2*4*7 + 2*4*8 + 2*5*7 + 2*5*8 + 3*4*7 + 3*4*8 + 3*5*7 + 3*5*8 = 810
Хотя это легко закодировать (на любом языке), является ли это повторением известной проблемы суммы подмножества а>? Если нет, предоставьте алгоритм полиномиального времени, который вычисляет эту сумму (предпочтительно псевдокод или Python!). Если алгоритм полиномиального времени не существует, объясните, почему.