检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目描述
现有 个砝码,重量分别为 ,在去掉 个砝码后,问最多能称量出多少不同的重量(不包括 )。
请注意,砝码只能放在其中一边。
#输入格式
第 行为有两个整数 和 ,用空格分隔。
第 行有 个正整数 ,表示每个砝码的重量。
#输出格式
仅包括 个整数,为最多能称量出的重量数量。
#输入输出样例
样例输入 #1
3 1
1 2 2
样例输出 #1
3
样例解释 #1
在去掉一个重量为 的砝码后,能称量出 共 种重量。
#数据范围与约定
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,,,,。
#思路
观察数据范围,可以发现所有砝码组成的重量最大不超过 ,考虑使用 bitset 维护。
在 范围内枚举状态,第 位表示第 个砝码是否存在。当 时,状态 可以更新答案。
显然重量 不需要任何砝码即可称量出,因此直接设置第 位为 。然后对于所有的砝码,计算其与前面的砝码搭配能称出的重量,最后二进制下为 的位的个数即为当前状态下的结果。据此更新答案即可。
由于最终结果不能包括 ,因此需要在最终答案中 。
#代码
1 |
|