如何找出集合的两个子集使得和相等?

给定一个大小为 \(n\) 的整数集合 \(S\subseteq [0,V]\),找出他的两个子集 \(s_1,s_2\) 使得其元素的和相等,或报告无解。


对于所有的 \(T\subseteq S\)\(T\) 中元素的和满足 \(0\le \sum_{x\in T} x\le V|T|\)

所以根据生日悖论,只需要随机 \(\mathcal O(\sqrt{nV})\) 个不同的子集就可以碰撞。

posted @ 2025-10-02 19:27  CuteNess  阅读(13)  评论(0)    收藏  举报