子集合加总问题
给出 $\{a_{1\dots n}\}$,找出一个子集和为 $0$。
这是 NPC 的,当 $|a_i| \leq n$ 的时候可以 $n^3$ 背包,当然地可以使用 bitset 压位至 $\frac {n^3} w$。
值域还是太难受了,考虑怎么压下来值域,因为和为 $0$,值域又是 $n$,通过调整顺序总是存在一种方案使得值域在 $[-n,n]$。但是我们不知道这个顺序,但感觉存太大值域又没用。
所以随机一个顺序,可以证明这个时候值域期望是不大于 $O(n^{1.5})$ 的,复杂度可以做到 $O(\frac {n^{2.5}} w)$。
本文已经结束了。本文作者:ღꦿ࿐(DeepSea),转载请注明原文链接:https://www.cnblogs.com/Dreamerkk/p/17970945,谢谢你的阅读或转载!

浙公网安备 33010602011771号