![](https://img-blog.csdnimg.cn/20210218111034627.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM贪心
贪心算法
凌晨小街
别nullptr了
展开
-
HDU4825 Xor Sum(异或贪心 + 前缀树 + 状态压缩)
这道题搞了我两个小时,hhh,新手崩溃题目贴上:题目大意:A这个人有一个数组,现在B每说出一个数,你都要在A里面找一个数,使得这两个数的异或是最大的,输出在A里面找出的数题目思路:将A这个人所有的数化成二进制进行压缩一下,我们先预存储所有A数组,注意,求二进制数的时候,我们要将得出的二进制字符串反转,因为根据贪心规则,我们每次优先变换高位的匹配数字,这样子可以确保我们得到的结果尽可能符号和尽可能大然后由于数字的二进制位串是不一致的,比如1和4,在经过上面的反转后分别为1和100,所以我们要在十进制原创 2021-02-26 17:29:14 · 234 阅读 · 0 评论 -
Educational Codeforces Round 96 (Rated for Div. 2)C. Numbers on Whiteboard(贪心算法(水题))
题目链接: 传送门题目贴上:题意:,给你 1-n个数,你可以对两个不同位置的数进行合并,比如a和b,合成数变成(a+b)/2,结果四舍五入。放在数组末尾,删除原来的a和b,举例子吧就这样子两两合并,最后合成后数组肯定就剩下一个数字,问你怎么合并使最后一个数字最小,输出最小数,并且输出每次合并的两个数思路: 每次从最后开始,两两合并,肯定最小,而且这样子合并最小值答案是唯一的(不知道为什么的直接手动写几个例子试一试,)而且最小数固定为2.#include<bits/stdc++.h>原创 2020-10-13 19:23:16 · 261 阅读 · 0 评论 -
Codeforces Round #661 C. Boats Competition(贪心算法+暴力枚举)
题目地址: 传送门 题目贴上:1.题意:有n个人,每个人都有自己的重量w,现在n个人中只能每两个人组成一队,且每个人只能在一支队伍中,现在让你组建一支参赛队伍,要求如下:每个队伍的质量都是相等的,现问这n个人怎么组队可以使参赛队伍数量最大?2.思路:我们发现数据最大的w也才50,两个最大的w总和也才100,队伍最大也才100,明显可以暴力枚举解决 #include<bits/stdc++.h> #define f(a,b,c) for(a=b;a<=c;++a)原创 2020-10-06 17:24:13 · 305 阅读 · 0 评论 -
Educational Codeforces Round 96 (Rated for Div. 2)B. Barrels(贪心算法)
题目链接: 传送门题目贴上:这道题目也算是水题吧O-O,@-@, ==题意:给你n个桶,第i个桶里面承装的水是ai,你可以将一个桶(a桶)内的水倒入另一个桶里面(b桶),但是前提是a桶不为空。这样子就算一次操作,至于从a桶倒入b桶多少水都是可以(全部也可以),现在你的任务是,你最多可以执行这样子的操作k次,然而使最多水的桶和最少水的桶之差尽可能大,现在问你你该如何操作,获得这个差最大,并输出。思路: 首先你要使最大和最小的差最大,那肯定每次倒水的时候全倒了,这样子被倒入水的桶可以获得最多,而另一个桶原创 2020-10-13 18:10:41 · 200 阅读 · 0 评论