LC 100241. 求出所有子序列的能量和未命名

https://leetcode.cn/problems/find-the-sum-of-the-power-of-all-subsequences/description/

这题解法在应对每个下标时候如何更新状态,假设处理到了 `nums[i]`, 并且之前的状态是 `st[x] = c` (里面表示子序列和为x的次数出现c次),完了之后就是我们怎么更新状态。

这几种情况是不相交的,所以不会出现重复计算的情况,初始化状态是空。

class Solution:
    def sumOfPower(self, nums: List[int], k: int) -> int:
        from collections import Counter
        now = Counter()
        MOD = 10 ** 9 + 7

        for i in range(len(nums)):
            z = nums[i]
            tmp = Counter()
            for x, c in now.items():
                tmp[x] = (2 * c) % MOD

            for x, c in now.items():
                value = x + z
                if value > k: continue
                tmp[value] += c

            tmp[z] += (2 ** i) % MOD

            now = tmp

        return now[k] % MOD