题目链接:https://vjudge.net/problem/POJ-3977 题意:给一个大小<=35的集合,找一个非空子集合,使得子集合元素和的绝对值最小,如果有多个这样的集合,找元素个数最少的。 思路:显然,可以用折半搜索,分别枚举一半,最大是2的18次方,复杂度能够满足。因为集合非空,枚举 ...
分类:
其他好文 时间:
2019-10-21 11:14:54
阅读次数:
218
$Luogu$ $Sol$ 首先$W$一定是某个$w_i$.于是一种暴力方法就出炉了,枚举$W$再计算. 注意到,满足$S-Y$的绝对值最小的$Y$只可能是两种,一种是$<S$的最大的$Y$,一种是$>S$的最小的$Y$.那就分别求出来叭.分别求的时候这个$W$的值是可以二分的.但是这样并不能$A$ ...
分类:
其他好文 时间:
2019-10-03 16:29:18
阅读次数:
93
原题 题目链接 题目分析 题目要求将一组数组成两个数,注意不能有前导零,要求差绝对值最小, 所以要取两个位数最接近的数来做差,然后搜就完事了.搜法可以用全排列搜,由于只取两个数,就可以直接取前half个数作为一个数,剩下的作为一个数,做差就行了,这样全排列刚好能遍历所有情况. 代码 ...
分类:
其他好文 时间:
2019-08-22 22:21:01
阅读次数:
127
暴力搜索超时,但是折半后两部分状态支持合并的情况,可用折半枚举算法 poj3977 给一个序列a[],从里面找到k个数,使其和的绝对值最小 经典折半枚举法+二分解决,对于前一半数开一个map,map[sum]里存下凑出当前sum的最小元素个数 枚举后面一半的所有情况,然后lower_bound去找m ...
分类:
其他好文 时间:
2019-08-22 22:02:31
阅读次数:
84
"题目传送门" 结合两篇题解: "1" "2" 有了我这篇博客。 主要思路是题解1。初始时先将所有骨牌翻转成上边的点数大,假设这时上下点数之差为$tot$,此时翻转的骨牌数记为$base$。那么现在要再次翻转骨牌使得差值变小,假设第$i$张骨牌上下差值为$k$,那么将这张骨牌翻转过来差值会减小$2 ...
分类:
其他好文 时间:
2019-08-20 22:25:13
阅读次数:
87
2019年8月10号我参加贝壳笔试,没想到是四道编程题,这个着实让我措手不及。下面我就来带大家看看这四道题目。首先我要吐槽下赛码网的系统,为啥非得写输入输出,能不能学学Leetcode ! 第一题:计算绝对值 题目描述:给出n个整数,要找出相邻两个数字中差的绝对值最小的一对数字,如果差的绝对值相同的 ...
分类:
其他好文 时间:
2019-08-11 13:27:39
阅读次数:
707
传送门:https://vjudge.net/problem/POJ-3977 题意:给你n数(n<=35),从中选出一个非空子集,使得这个子集的所有元素的值的和的绝对值最小,如果有多组数据满足的话,选择子集元素最少的那个。 这题是从挑战程序设计竞赛来的。就是折半枚举。也就是我先分别枚举前面一半的选 ...
分类:
其他好文 时间:
2019-05-11 23:10:41
阅读次数:
134
大意: 给定序列, 每次操作选择一个数+x或-x, 最多k次操作, 求操作后所有元素积的最小值 贪心先选出绝对值最小的调整为负数, 再不断选出绝对值最小的增大它的绝对值 ...
分类:
其他好文 时间:
2019-03-25 23:22:57
阅读次数:
184
java中的算数运算符 + - * / % ++ -- + +: 加法运算符 - : 减法运算符 *: 乘法运算符 / : 除法运算符 注意: 除数不能为0,除数为0会报出异常 整数运算默认得到整数,如果要得到浮点数的值,请使用浮点数参与运算 %: 取余运算符 注意: 取模在java中的关键字是Ma ...
分类:
其他好文 时间:
2019-03-18 12:04:32
阅读次数:
147
题目描述 输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。 题目描述 输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。 输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。 输入 十个数 输入 十个数 十个数 ...
分类:
其他好文 时间:
2019-03-09 01:05:40
阅读次数:
635