BZOJ 2679 [Usaco2012 Open]Balanced Cow Subsets

发布于 2017-06-18  124 次阅读


题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2679

题意:给出一个大小为 n 的数集,若能取出两个互不相交的子集满足子集中元素算术和相等,则方案数加一,求总方案数...


人生中的第二道 Meet-In-The-Middle ?

考虑到选择元素实质上就是为元素分配系数,有-1(选择到了另一个集合),0(未选择),1(选择) 三种选择...

直接搜索是\(O(3^n)\) 的... 分成两部分搜索维护双指针即可

然后就 WA 了... 为什么呢,这样统计有重复的情况,那么还需要记录一下状态判重...

时间复杂度\(O(3^{n/2}*log_{2}{3^{n/2}})\) 空间复杂度\(O(2^n+3^{n/2})\).... 然而跑到了第三页... 答案减 1 是去除空集情况


一个非常弱的准退役OIER