![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
贪心
刷题
星空皓月
工欲善其事,必先利其器。
展开
-
西南交大峨眉校区INT杯2020-I.增减序列【差分+贪心】
思路前置知识:差分将a数组求一个差分(b[i] = a[i] - a[i - 1]),我们会得到一个b[i]数组,我们要将某个区间+1或者-1操作,就是对b数组中的b[i]–,b[j]++操作(1<=i,j<=n)。这儿分类讨论一下如果i-1>j,则是在j到i-1这个区间+1;如果j-1>i,则是在i到j-1这个区间-1;要让a数组变成一个相同的数且步数最优,等价于将b数组全部变成0. 假设b[i]为正数,b[j]为负数,我们尽量让b[i]–,b[j]++,这样就是最优了.原创 2020-12-15 09:51:42 · 149 阅读 · 0 评论 -
西南交大峨眉校区INT杯2020-G.绅士串【贪心】
思路签到题:直接贪心写,找左边第一个>,后面的字符将全部被删除,找右边第一个<,后面的字符串将全部被删除。AC代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN = 200 + 5;char s[MAXN];void solve() { int n; scanf("%d", &n); scanf("%s", &s);.原创 2020-12-15 09:59:34 · 147 阅读 · 0 评论 -
CF -- 2020 ICPC COMPFEST 12 :A. Arena of Greed【贪心】
题意一个箱子里面有n个硬币,你和你的对手去拿箱子里面的硬币,拿的规则如下:1.拿一个硬币2.如果箱子里面的硬币是偶数个,则可以拿偶数个。从你开始拿,直到拿完为止,问在两人都玩得最优,你在游戏结束时能得到的最大硬币数量。思路如果是奇数的情况下,没得考虑只能拿一个。如果是偶数的情况下,可以选择拿一半或者拿一个;这时我们直接拿一半,每次这样拿下去,这样真的是最优的方案?其实不然,在偶数情况下,当剩下的一半是偶数时,对手将会拿走一半的一半,而当剩下的一半是奇数时,对手只能拿走一个,所以我们要制原创 2020-09-28 11:10:55 · 315 阅读 · 0 评论 -
CF - E95(div2) -- B. Negative Prefixes【贪心】
题意给定一个序列,然后给定那些位置被锁定不能被移动,将序列可移动的数随机移动,移动后为a1, a2, a3…an;设p1 = a1 ,p2 = a1 + a2 ,p为a的前缀和,k为前缀和中pi < 0 的个数问怎样移动使得k最小。思路让可移动的数尽量把最大的数放前面,使得前面的前缀和为正数。这样会使得k最小。AC代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int原创 2020-09-15 17:20:20 · 250 阅读 · 0 评论 -
CF - 1294 -- E. Obtain a Permutation【构造 + 贪心】
E - Obtain a Permutation题意给定一个n * m的矩阵,将这个矩阵变成有序矩阵,例如3 2 11 2 34 5 6将其变为1 2 34 5 67 8 9允许进行下面两种操作1.每列可以向上移动m次(第一行变成最后一行的元素),修改m次。2.可以直接更改位置上的元素,修改1次。问将给定矩阵变成有序矩阵的最小修改次数。思路先枚举每一列,对直接修改不同位置,还是移动m次后在进行修改进行贪心。怎样统计移动m次后有几个相同的,构造arr数组 = 目标数组 - 给定原创 2020-08-01 18:58:38 · 129 阅读 · 0 评论 -
hihoCoder 1416 --- Inventory is Full【贪心】
Inventory is FullDescriptionYou’re playing your favorite RPG and your character has just found a room full of treasures.You have N inventory slots. Luckily, items of the same type stack together, with the maximum size of the stack depending on the type原创 2020-06-27 22:17:36 · 460 阅读 · 0 评论 -
Codeforces--B. Maria Breaks the Self-isolation(贪心)
题意简单的描述一下题意,最先是小明在院子里,然后给定n个奶奶,最先奶奶是在家的,每个奶奶都有个规定的数ai,这个ai是奶奶出门看见必须是有大于等于ai个人在院子里,才能进院子。问院子里最多有好多人?思路直接先来个排序,然后用贪心思想来做,我们排序后获得到一个升序数组(1到n),然后判断i位置上的奶奶<=她的规定数,找到最大的那个位置,我们让前面的奶奶和这个位置上的奶奶全部出门看一看,这样使得全部满足条件。AC代码#include<bits\stdc++.h>using nam.原创 2020-05-27 12:42:43 · 223 阅读 · 0 评论 -
活动安排问题:区间贪心
题目描述假设某社团某一天要组织????个活动???? = {1, 2, ⋯ , ????} ,其中每个活动都要求使用同一礼堂,而且 在同一时间内只有一个活动能使用这个礼堂。每个活动????都有一个要求使用礼堂的起始时间???????? 和结束时间 ????????,且有???????? < ???????? 。如果选择了活动????,则它在半开时间区间[???????? , ????????) 内占用资源。若 区间[????????, ????????) 与区间[????????, ????????原创 2020-03-31 16:23:24 · 1509 阅读 · 0 评论 -
小数背包问题:简单贪心
问题描述给定????种物品和一个背包。物品????的重量是????????,其价值为????????,背包的容量为C,应如何 选择装入背包的物品使得装入背包中物品的总价值最大? 这里,在选择物品????装入背包时,可以选择物品????的一部分,而不一定要全部装入背包。输入多组测试数据。每组测试包括三行:第一行输入物品的总数????(???? < 1000)和背包的容量 ????(???? < 1000)。第二行输入????个整数,表示物品的重量。第三行输入...原创 2020-03-31 16:05:34 · 2498 阅读 · 0 评论 -
codeforces:D. Carousel+贪心
传送门D. Carousel题意有一个旋转木马,里面坐着n个动物,数字相同的表示相同的动物,不同的代表不同的动物,给这些动物染色,设定相邻的不同的动物颜色不同,相同的动物可以然相同颜色,求最少需要几种颜色。并输出染色情况。思路打比赛时没读懂题,早上补题的时候才看懂,就是一个构造+贪心思想,只要下面几种情况:1.如果只要一种动物,则只需染一种色2.如果为偶数,只需要两种色1212…12...原创 2020-03-27 12:02:07 · 164 阅读 · 0 评论 -
cf--contest1324:C. Frog Jumps+贪心思想
传送门C. Frog Jumps题意青蛙想从0这个位置跳到n+1这个位置。给你一个从1到n的字符串,字符串只包括L和R,L只能向左走,R只能向右走,青蛙将选定一个最大跳数d,使得遇到L后往左走[1,d]不能低于0,遇到R后往右走[1,d]不能超过n+1.求最小的最大跳数。思路不管青蛙向左走的情况,只管向右走的情况(因为如果向左走青蛙总会回到这个点)。青蛙必须越过最长连续的L,不然只能来回...原创 2020-03-13 00:50:28 · 139 阅读 · 0 评论 -
cf--D. Fight with Monsters 贪心
D. Fight with Monsters传送门:http://codeforces.com/problemset/problem/1296/D题意:你和你的朋友去打怪兽轮流攻击,你的伤害是a,你朋友的伤害是b,然后告诉你可以使用k次技能,你的技能是让你朋友的攻击无效,然后告诉你有n只怪兽的血量;思路:我们可以看作两个人一起攻击,然后最后打的一次还剩多少血量,最后除以a,如果是我最后还...原创 2020-02-13 22:54:28 · 100 阅读 · 0 评论