题目描述 双十一就要来啦!而Yuno刚刚获得了一笔X元的奖金。那么是不是应该清空下购物车呢?购物车总共有N个物品,每个物品的价格为Vi,Yuno想尽可能地把手头的奖金给花光,所以她要精心挑选一些商品,使得其价格总和最接近但又不会超过奖金的金额。那么Yuno最后最少可以剩下多少钱呢? 输入 第一行,两 ...
分类:
其他好文 时间:
2019-01-15 20:30:27
阅读次数:
318
传送门 题目大意:给定一个含有n个元素的集合,求出其中一个子集,使得在子集内所有元素的和的绝对值最小的情况下,子集元素个数最小。输出最小值和最少元素个数。n <= 35. 这个题是很显然的折半搜索,我们先搜前一半,再搜后一半,搜到后一半的时候,我们在前一半元素之中二分去找最接近0的那一个值来更新答案 ...
分类:
其他好文 时间:
2018-12-05 22:29:31
阅读次数:
283
这题和在我长郡考试时的一道题思路差不多...考虑折半搜索,预处理左半边选的方案所产生的数量差值$x$以及价值差值$y$,把$y$扔到下标为$x$的set里面,然后在搜索右半边,每搜出一个状态,设他的数量差值为$a$,价值差值$b$,根据题意,要满足数量差值小于1,就要找左半边的状态来互补一下,很显然 ...
分类:
其他好文 时间:
2018-11-29 23:18:54
阅读次数:
185
"嘟嘟嘟" 这个数据范围显然是折半搜索。 把序列分成两半,枚举前一半的子集,存下来。然后再枚举后一半的子集,二分查找。 细节: 1.最优解可能只在一半的子集里,所以枚举的时候也要更新答案。 2.对于当前结果$tot$,二分查找$ tot$的时候要把$ tot$两边的元素都和$tot$加起来试一下,而 ...
分类:
其他好文 时间:
2018-11-27 12:28:23
阅读次数:
241
题意:给一个数列和m,在数列任选若干个数,使得他们的和对m取模后最大。 注意到n<=35,直接枚举状态不行,考虑meeting in the middle。 那么的话我们直接暴力枚举两边的状态就好了,不过我们记录的是取模后的sum。。 现在主要解决合并答案的问题。都是套路是吧。。。 我们容易发现,如 ...
分类:
其他好文 时间:
2018-11-08 12:14:59
阅读次数:
199
E. Maximum Subsequence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output E. Maximum Subsequ ...
分类:
其他好文 时间:
2018-11-03 02:16:03
阅读次数:
218
"传送门" Solution 折半搜索模板题 考虑枚举每个点在左集合和右集合或者不在集合中,然后排序合并即可 Code cpp //By Menteur_Hxy include include include include include include define Re register de ...
分类:
其他好文 时间:
2018-10-22 17:47:23
阅读次数:
146
Description 给n个数,从中任意选出一些数,使这些数能分成和相等的两组。 求有多少种选数的方案。 Input 第$1$行:一个整数$N$ 第$2$到$N+1$行,包含一个整数$m_i$ Output 一行:平衡的集合的个数. 看到题的一瞬间数据范围? $N \leq 20?$状压! 明显直 ...
分类:
其他好文 时间:
2018-10-21 21:59:31
阅读次数:
285
T1:算是sb题吧,我几乎完全不记得折半搜索了,虽然考试中想到过类似的做法,但是时间过不去就没想了。测试后惊讶发现我居然写过这道题,一模一样,但是一点印象都没有。也是个教训,以后学过的东西还是得复习。折半搜索这思路还是蛮简单的。 链接: "subsets" T2:这题是真的sao,我tm被这题坑死了 ...
分类:
其他好文 时间:
2018-10-17 00:05:24
阅读次数:
172
T1 : 求给定集合有多少个非空子集可以分割成两个集合,使得它们的和相等。 其中:$n\leq20~,~a[i]\leq1e8$ 由于$n$比较小,所以可以考虑爆搜。朴素的爆搜可以枚举每个数不选,第一个集合,第二个集合,复杂度$O(3^n)$ 。 然后发现根据套路,可以想到折半搜索$(meet~ i ...
分类:
其他好文 时间:
2018-10-16 18:39:28
阅读次数:
135