如何找出集合的两个子集使得和相等?
给定一个大小为 \(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})\) 个不同的子集就可以碰撞。
本文来自博客园,作者:CuteNess,转载请注明原文链接:https://www.cnblogs.com/CuteNess/p/19123911

浙公网安备 33010602011771号