http://poj.org/problem?id=3977 题目大意:有一堆数,取出一些数,记他们和的绝对值为w,取的个数为n,求在w最小的情况下,n最小,并输出w,n. ———————————————————— 两天时间,终于搞下. 这题显然我们唯一能做到的只有暴力,但是2^35显然不可取…… 但是显然我们折半搜索的话复杂度只有2^18左右所以没问题. 将数分成两堆,每一堆暴力求出所有情况并记录. 然后枚举第一堆,三分第二堆求解即可. (为什么三分呢?因为绝对值啊,一定最优解是在函数的最低点…
抄的题解 以及参考:https://www.cnblogs.com/ZAGER/p/9827160.html 2^40爆搜过不了,考虑折半搜索,难点在于合并左右的答案,因为有可能答案同时载左右两边,我们用两个数组记录下来答案, 然后我们再对左边的答案排个序,那么对于右边其中的来说,它可能产生的集合是与左边的状态相结合.使用二分查找 输入要用%lld #include<iostream> #include<algorithm> #include<cstdio> #incl…
状压,时间空间都不行,如果每次搜索一半就可以省下很多空间,用map记下每种状态的答案,最后再把两次的答案合并 然而正解是高斯消元解异或方程组,最后搜索自由元 #include<iostream> #include<cstdio> #include<cstring> #include<map> #define ll long long using namespace std; ; ; ,fl; ll f[maxn]; map<ll,int>mx;/…
传送门 BZOJ传送门(权限题) 看到n小于20,就可以想到搜索 所有的数要么在集合a中,要么在集合b中,要么都不在 可是3^n复杂度会炸,我们考虑优化 可以利用折半搜索,将前面一半的所有可能情况与后一半列举 排序扫描统计答案 由于选择情况可能会重复,我们还要记录一下状态,然后在统计时判断一下 统计时会将一个都不选的情况计算进去,所以ans要-1 # include<iostream> # include<cstdio> # include<cmath> # inclu…
Codeforces Round #297 (Div. 2)E. Anya and Cubes Time Limit: 2 Sec  Memory Limit: 512 MBSubmit: xxx  Solved: 2xx 题目连接 http://codeforces.com/contest/525/problem/E Description Anya loves to fold and stick. Today she decided to do just that. Anya has n c…
题目链接: 咕 闲扯: 这题暴力分似乎挺多,但是一些奇奇怪怪的细节没注意RE了,还是太菜了 分析: 首先我们考虑最naiive的状压DP ,\(f[u][v][state]\)表示u开头,v结尾是否存在一条表示为state的路径,这个好转移不讲了,但是由于d的范围时间复杂度过大,于是考虑折半搜索 我们把一条最终路径的路径分成两部分\(p=(d+1)/2\)(其实就是上取整),\(q=d-p\),显然\(p>=q​\) 于是我们可以把一条路径长度看成两部分,一条从1开始,长度为p的路径,另一条以某…
题面:SP11469 SUBSET - Balanced Cow Subsets 题解: 对于任意一个数,它要么属于集合A,要么属于集合B,要么不选它.对应以上三种情况设置三个系数1.-1.0,于是将题目转化 为找出两个集合和为0,将这两个集合合并不重复的为一种答案.考虑折半搜索.搜出前一半和后一半,用哈希表和状态压缩记录 和去重,然后统计答案即可. 时间复杂度为O(6^(N/2)). 代码: #include<cstdio> using namespace std; ,MOD=,max_nu…
[LOJ#6072]苹果树(矩阵树定理,折半搜索,容斥) 题面 LOJ 题解 emmmm,这题似乎猫讲过一次... 显然先\(meet-in-the-middle\)搜索一下对于每个有用的苹果数量,满足权值小于\(lim\)的方案数 ,那么只需要考虑它们构成生成树的方案数就好了. 显然有用的可以和所有的有用的或者是坏的连边,好的但不有用的只能和坏的连边,而坏的随意. 但是这样子算出来的结果是至多,因此还需要额外容斥一下计算生成树的个数. #include<iostream> #include&…
[CEOI2015 Day2]世界冰球锦标赛 题目描述 译自 CEOI2015 Day2 T1「Ice Hockey World Championship」 今年的世界冰球锦标赛在捷克举行.\(Bobek\) 已经抵达布拉格,他不是任何团队的粉丝,也没有时间观念.他只是单纯的想去看几场比赛.如果他有足够的钱,他会去看所有的比赛.不幸的是,他的财产十分有限,他决定把所有财产都用来买门票. 给出 \(Bobek\) 的预算和每场比赛的票价,试求:如果总票价不超过预算,他有多少种观赛方案.如果存在以其…
[Usaco2012 Open]Balanced Cow Subsets 题目描述 给出\(N(1≤N≤20)\)个数\(M(i) (1 <= M(i) <= 100,000,000)\),在其中选若干个数,如果这几个数可以分成两个和相等的集合,那么方案数加\(1\). 求有多少种选数的方案. 输入输出格式 输入格式: * Line 1: The integer $ N$. * Lines 2..1+N: Line i+1 contains \(M(i)\). 输出格式: * Line 1:…