首页 > 其他 > 详细

2018-10-16队测

时间:2018-10-16 17:17:42      阅读:142      评论:0      收藏:0      [点我收藏+]

T1 (折半搜索)

题意:

给定一个序列,求有多少个非空子集,能划分成和相等的两份。

 

即[Usaco2012 Open]Balanced Cow Subsets;

数据范围n<=20,mi<=1e8,测试时打了个暴搜过了60分,

转化一下模型能知道对于每个数来说只会有3种情况,

1、没有被选;

2、被选进左边集合;

3、被选进右边集合。

如果暴力枚举所有的可能3^n明显会超时,

所以我们可以用meet in the middle的思想,即折半搜索。

先枚举左边的情况,再枚举右边的情况,最后把两种情况都排一遍序。

时间复杂度O(玄学)。

 

2018-10-16队测

原文:https://www.cnblogs.com/Dingwenhao/p/9798778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!