
贪心
ACkingdom
这个人很懒,什么都没有留下
展开
-
Educational Codeforces Round 94 (Rated for Div. 2) B. RPG Protagonist(贪心)
题目链接思路:枚举每一种情况找出剩余质量最少的情况即放入的最多的情况即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1e5+7;const int M=1e4+5;const double eps=1e-8;const int mod=1e9+7;const int inf=原创 2020-08-29 21:37:41 · 183 阅读 · 0 评论 -
Educational Codeforces Round 93 (Rated for Div. 2) B - Substring Removal Game
题目链接思路:分析可知双方每次操作一定是取连续1最多的区间消掉,贪心即可。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=210;const int M=2e4+5;const double eps=1e-8;const int mod=998244353;const int in原创 2020-08-21 01:47:25 · 195 阅读 · 0 评论 -
2020牛客暑期多校训练营(第八场)K.Kabaleo Lite(贪心,高精)
题目链接思路:对盈利做个前缀和然后从大往下取,每次取的时候增加的人数是当前的前缀和的最小值减去已经得到的人数。注意数据很大需要用到高精(所以我们用python,手动滑稽)。代码:t=int(input())for i in range(t): n=int(input()) a=list(map(int,input().split())) b=list(map(int,input().split())) mn=b[0] ans=a[0]*b[0] su原创 2020-08-05 21:58:30 · 179 阅读 · 0 评论 -
洛谷-P1094 纪念品分组
题目链接思路:(原谅我第一眼把题目看成纪念品龙狙hhh)读入之后先用sort排序,然后用两个指针一起向中间走,每次选择都尽可能的让当前状态下最大的和最小的分在一组,如果不行就最大的单独分一组,这样贪心下来就是最少分的组了。代码:#include<bits/stdc++.h>#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=2e5+5;co原创 2020-07-29 22:34:14 · 328 阅读 · 0 评论 -
洛谷-P5019 铺设道路
题目链接思路:假设现在有一个坑,但旁边又有一个坑,你肯定会选择把两个同时减1,那么小的坑肯定会被大的坑“带着”填掉。大的坑也会减少a[i]-a[i-1]的深度,可以说是白嫖减少了1,所以我们只需要遍历整个数组并加上a[i]与a[i-1]的差即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);co原创 2020-07-28 00:30:33 · 215 阅读 · 0 评论 -
Codeforces Round #657 (Div. 2) C-Choosing flowers(贪心)
题目链接思路:首先找比最大的b[i]大的a[i],再找剩下的数中买剩下个数的花的最大值即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=2e5+7;const double eps=1e-8;const int mod=1e9+7;con原创 2020-07-21 20:52:29 · 222 阅读 · 0 评论 -
洛谷-P1080 国王游戏(贪心,高精)
题目链接思路:左右手乘积大的要排到后面,中间需要用到高精度,所以我们用Python水过去(学的Python终于有点用了)。代码:N=int(input())s=input().split()S=int(s[0])T=int(s[1])a=[]for i in range(1,N+1): k=input().split() a.append((int(k[0]),int(k[1])))a.sort(key=lambda x:x[0]*x[1])ans=0for i in原创 2020-07-16 20:11:27 · 191 阅读 · 0 评论 -
Educational Codeforces Round 91 (Rated for Div. 2) C-Create The Teams(贪心,思维)
题目链接题意:把n个人分成几个团队,每个人都有自己的技能数,在分团队的时候要满足队中最低技能数 * 该团队的人数不能小于x。每个人只能在一个团队,但是有的人可以没有团队,求最多的团队数。思路:将所有人按照技能点从大到小排列,然后从最大的开始选取,将他们放入团队,如果满足条件那么就开新的团队,知道所有人都放入团队中(最后一个团队可能不会成为一个合格的团队)。代码:#include <bits/stdc++.h>using namespace std;#define int long原创 2020-07-15 20:37:42 · 636 阅读 · 0 评论 -
Educational Codeforces Round 91 (Rated for Div. 2)-B Universal Solution(贪心)
题目链接题意:有一个机器人,会随机出剪刀石头或布,给你一个字符串代表他出三种不同字符,求怎样出你能赢得最多场数。思路:贪心,你只需要找到剪刀石头布中最大个数的然后输出能赢它的即可。代码:#include <bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);typedef long long l原创 2020-07-15 20:25:27 · 200 阅读 · 0 评论 -
洛谷-P2240 【深基12.例1】部分背包问题
题目链接题意:有一个固定承受重量的背包和一堆具有重量和价值的可分割物品,求最多能装多少价值的物品。思路:一道非常明显的贪心题(不知道为啥题目带背包),我们只需要将性价比最高的物品优先装入背包中即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N原创 2020-07-10 22:13:43 · 331 阅读 · 0 评论 -
洛谷-P3817 小A的糖果(贪心)
题目链接题意:给你一个数组,要让任意两个相邻的数之和都不大于x,至少得减去多少。思路:想要减去的最少,我们要考虑到每个数对两边的影响,两端的数肯定影响最小,所以我们要让两端的数减去的尽可能少,中间部分减到满足条件即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);c原创 2020-07-10 21:38:30 · 329 阅读 · 0 评论 -
Codeforces Global Round 8-D. AND, OR and square sum(位运算,贪心)
题目链接题意:给你一个数组,你可以从中任选两个数使得x=x&y,y=x|y,该操作可以执行无数次,求数组中每一位数的平方和的最大值。思路:如果我们多尝试几个例子你会发现,两个数经过上述位运算之后二进制的1的个数并不会改变,所以我们可以经过无数次的位运算操作之后将每一位的1转移到能转移到的最大的数的位置,最后得到的数组就是结果。代码:#include<bits/stdc++.h>using namespace std;#define int long long#defin原创 2020-07-08 20:31:56 · 161 阅读 · 0 评论 -
洛谷-P1803 凌乱的yyy / 线段覆盖(贪心)
题目链接题意:现在各大 oj 上有 nn 个比赛,每个比赛的开始、结束的时间点是知道的。yyy想知道他最多能参加几个比赛。思路:结束时间点从小到大排序,顺序查找结束时间早的而且开始时间在上一个找到的比赛之后的。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const原创 2020-07-07 23:45:02 · 221 阅读 · 0 评论 -
洛谷-P1223 排队接水(贪心)
题目链接题意:有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。思路:标准的贪心,将接水时间最短的排在最前面即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);const int N=1005;原创 2020-07-07 23:24:29 · 259 阅读 · 0 评论 -
洛谷-P1106 删数问题(贪心)
题目链接题目:键盘输入一个高精度的正整数N(不超过250位),去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数。对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。思路:标准的贪心题,保证每一位都是能够选取到的最小的值即可。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_stdio(false);cin.tie(0)原创 2020-07-06 21:34:29 · 402 阅读 · 0 评论 -
Codeforces Global Round 9-C. Element Extermination(贪心)
题目链接题意:给你n大小的数组排列,现在如果有俩个连续的数满足ai < ai+1,那么你可以删去其中的一个数,现在问:在进行上述操作后,是否有可能使得数组元素为1。思路:如果输入的元素小于栈顶元素,那么入栈。如果输入元素大于栈顶元素,那么判断栈中元素个数,如果为1,那么我们不操作(即删掉此时手中的数),如果不为1,那么我们现在删除栈顶元素,把现在输入元素入栈。在输入完后,判断现在的栈中元素个数是否为1,如果是,则YES,反之则NO。代码:#include<bits/stdc++.h&原创 2020-07-05 22:34:13 · 210 阅读 · 0 评论 -
SCPC-Avada Kedavra(贪心,思维)
题目链接题意:Hermione Granger有一个01字符串,可是她不喜欢字符串出现一种情况,即s[i]+s[i+1]=s[i+2],所以她打算重新排列字符串(可以删除一部分),你们应该也知道她特别聪明,所以她不想亲手来解决这个问题,她想让你们来解决。思路:我们很容易能够推理到,连续的0是不允许的,连续的1是允许的,单独的0不能穿插在1之间,而单独的1可以穿插在0之间,所以我们考虑到的字符串是001循环字符串,再在字符串前面穿插上多个连续的1,我们比较sum1(1的个数)2+2和sum0(0的个数原创 2020-06-16 20:14:54 · 335 阅读 · 0 评论 -
Educational Codeforces Round 86 (Rated for Div. 2)-D. Multiple Testcases(优先队列,贪心)
题目链接题意:有n个数。划分成一些组。要求是每个组内大于等于i的数不超过c[i]个,求划分出最少的组数和构成方案。思路:将a[i]数组从大到小排序,再创建一个pair<int,int>的优先队列,first存数组中元素个数,second存数组下标,然后顺序选取a[i](之前已经排过序),如果该数组中元素数小于c[a[i]],那么a[i]就可以放入该数组中,然后将数组元素+1放回队列。代码:#include<bits/stdc++.h>using namespace st原创 2020-05-22 00:00:27 · 304 阅读 · 0 评论 -
Codeforces Round #642 (Div. 3)-E K-periodic Garland(字符串,贪心)
题目链接题意:给你一个长度为n的01串,每次操作可以将其中一个0变成1,求使得字符串中所有1的距离都是k的最小操作数。思路:双层循环,第一层跑k的余数,第二层跑该余数所在的间隔串里最多有多少连续的间隔为k的“1”,最后用字符串中所有的1的个数,减去最多且连续的间隔为k的“1”的个数得出结果。代码:#include<bits/stdc++.h>using namespace std;#define int long long#define IOS ios::sync_with_s原创 2020-05-20 20:42:48 · 332 阅读 · 0 评论