题目 夏令营有N个人,每个人的力气为M(i).请大家从这N个人中选出若干人,如果这些人可以分成两组且两组力气之和完全相等,则称为一个合法的选法,问有多少种合法的选法? 分析 如果暴力枚举每个人被分到哪个组或不分,O(2^20)显然会超时. 我们换一种思路, 每次只枚举一半, 将前后半部分分开枚举后半部分,枚举出每种的和以及有没有被选的状态. 枚举和相同的前后部分,如果这种状态没有被选过,就ans+1,然后将这种状态打个标记,这种状态就不再产生贡献. #include <cmath> #incl…