
贪心
文章平均质量分 52
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【CF1841C】Ranom Numbers【暴力】【贪心】
贪心原创 2023-08-04 20:06:29 · 159 阅读 · 0 评论 -
【CF1798C】Candy Store【贪心】【数学】
贪心+数学原创 2023-08-01 19:39:56 · 91 阅读 · 0 评论 -
【洛谷P1970】花匠【贪心】
本来看到题自己想的就是与上升下降段有关系,看啥算法标签去想DP。。原创 2022-08-20 08:45:54 · 137 阅读 · 0 评论 -
【洛谷P2072】宗|教问题【DP】
DP,贪心原创 2022-08-18 22:11:30 · 100 阅读 · 0 评论 -
【洛谷P1084】疫情控制【二分+倍增+DFS+贪心】
我们只需要记录所有根的儿子当中哪个有空隙(emp结构体),因为显然我们用剩余的军队去补空隙的时候只会去到根的子节点,才用时最小,再往下跑没意义。枚举空隙,匹配军队给他,优先选本身就在那棵子树上的最小的那个点看能不能到,如果不能就暴力枚举军队看看哪个可以,只要有一个空隙每个军队都没法不上,就判断不成功。枚举每一个军队,让ta尽量往根节点跳,不能跳到根节点,这个跟LCA跳是一样的,同时记录跳的过程中花费的代价,如果最后是有能力跳到根节点的就记录成“剩余军队”,否则直接在原地驻守。“让军队向上移动”的“.....原创 2022-08-16 22:21:15 · 440 阅读 · 0 评论 -
【洛谷P1315】观光公交【贪心】
贪心原创 2022-08-16 14:22:51 · 104 阅读 · 0 评论 -
【8.23模拟赛T1.1296】城墙【贪心】
题目链接:https://gmoj.net/senior/#main/show/1296分析有手就行点贪心。因为要相差最小,所以很好想到排序,然后补齐计算花费上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,x,y,up,down,ans;int a[30000],b[30000];int main(){ freopen("sa.原创 2021-08-24 15:41:49 · 98 阅读 · 0 评论 -
【8.19模拟赛T2.7239】[USACO21FEB] Year of the Cow S【贪心】
题目链接:https://www.luogu.com.cn/problem/P7412分析可惜啊赛时没意识到这是一道比较zz的题。将年份排序,记录每个祖先出现时间前后的12的倍数(也就是最近的两个能使用时空之门的地方)。记录每个区间的差值,相同区间要判断去重。贪心选差值最大的k-1个。因为我们要从现在去到最后一个先。上代码#include<iostream>#include<cstdio>#include<algorithm>using names..原创 2021-08-20 21:36:09 · 221 阅读 · 0 评论 -
【洛谷P2323】【gmoj1255】【8.11模拟赛T2】公路修建问题【kruskal+贪心】
题目链接:gmoj、洛谷分析这题一眼看就像是最小生成树,但又好像不完全是。。一开始想着裸的贪心好像也不太可行。于是,美妙的结合来了。因为对于一级公路来说最大的一级公路一定是全部公路中最大的。而如果一个二级公路很大,所对应一级公路一定更大。所以就符合贪心啦。只要选取最小的k条一级公路就可以。如果换成任意一个一级公路都会更大。而且要记录这k条一级公路连通了几个点,这里用kruskal实现。然后剩下没有连通的点,再排序二级公路的大小,用最小生成树实现连通。这里并不会选到重复的边,因为选过记录了连..原创 2021-08-11 19:22:51 · 78 阅读 · 0 评论 -
【gmoj7197】【7.19模拟赛T3】只不过是长的领带【贪心】
输入:输出:分析比赛时就想出了正解,但是缺少一点处理,就拿了暴力分。很明显是直接排序然后从大到小依次匹配。因为错位问题,所以要分k之前和k之后两种情况。分别递推处理出sum和suf数组。sum[i]sum[i]sum[i]表示iii之前的最大差,suf[i]suf[i]suf[i]表示iii之后的最大差。上代码#include<iostream>#include<cstdio>#include<algorithm>#include<c.原创 2021-07-20 16:20:14 · 94 阅读 · 0 评论 -
【gmoj7184】【7.17提高B组模拟赛】有趣的家庭菜园4【差分+贪心】
分析之前居然不知道有差分这东西¿¿原来就是前缀和的逆,但是通常配合前缀和一起使用,多用于区间修改。先创建一个差分数组b,每次操作是对(l,r)(l, r)(l,r)区间加上ccc,就可以转换成对b[l]+=c,b[r+1]−=cb[l] += c, b[r + 1] -= cb[l]+=c,b[r+1]−=c,然后再对b数组求一次前缀和,即可得到修改后的数组。这题要枚举k对于整个同侧的区间修改相对高度是不改变的,但是如果跨越k是可以作用于两侧的。利用这一特性求差分进行贪心,差分是便于修改...原创 2021-07-18 21:08:08 · 127 阅读 · 1 评论 -
【gmoj3555】【7.14提高B组T1】树的直径【LCA】
分析先离线存边,建立关系,存好深度。然后依次处理每个插入操作。保存当前直径的两端分别为s和t,设当前插入的节点为x,在s到t,s到x,t到x三条路径中找到一段最长的路径作为新的直径即可。树上两点的最短路径长度:两点距离=两个点分别到根的距离和-两倍的lca到根的距离求树上两点间的最短路径长度可以预处理每个点的深度,然后转化为LCA问题。求LCA可以用倍增实现。建树是O(n)的,倍增的时间复杂度为O(nlogn),因此最后总的时间复杂度为O(nlogn)。思想上是有贪心的。上代码为什么这题我..原创 2021-07-14 22:01:13 · 103 阅读 · 0 评论 -
【ybtoj 3.1】F.逐个击破【并查集+贪心】
题目链接:逐个击破分析反过来想,要把k个城市连成多个并查集,每个并查集只能有一个城市,怎样花费最多。排序+贪心做法上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;int n,k,fa[100005],b[1000005];ll ans; struct lwx{ int u,v,w;}a[50000.原创 2021-07-14 14:25:28 · 100 阅读 · 0 评论 -
【ybtoj 3.1】E.超市购物【并查集+贪心】
题目链接:超市购物分析使用贪心算法给价格排序,如果一个货物被选中,其他的就推到第二天并查集实现这个操作上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int n,fa[100001];struct lwx{ int p,d;}a[100001];int cmp(lwx a,lwx b).原创 2021-07-11 18:54:47 · 113 阅读 · 0 评论 -
【ybtoj 高效进阶 1.2】D.国王游戏【贪心】
分析ans1=max ( l0 / r1,l0 * l1 / r2 )ans2=max ( l0 / r2,l0 * l2 / r1 )可以比较得出l0 / r1 < l0 * l2 / r1l0 / r2 <l0 * l1 / r2假设ans1<ans2那么l0 * l1 / r2 < l0 * l2 / r1使用八年级分式方程的解法得出l1 * r1 < l2 * r2快排之后求答案记得加高精度上代码#include<iostream&g..原创 2021-01-03 11:15:29 · 151 阅读 · 0 评论 -
【ybtoj 高效进阶 1.2】C.畜栏预定【贪心】
原题链接分析贪心策略:把牛棚按左端点排序。如果牛棚的右端点没有牛棚 就添加一个然后找后面左端点第一个比该右端点大的 放上与该右端点牛相同的牛棚顺带更新一下ans即可.我没过样例居然100pts就离谱上代码#include<iostream>#include<cstdio>#include<algorithm>#include<iomanip>#include<cmath>using namespace std;in.原创 2021-01-03 10:42:43 · 158 阅读 · 0 评论 -
【ybtoj 高效进阶 1.2】B.雷达装置【贪心】
分析利用勾股定理求出每个点以d为半径所可以覆盖的区间勾股:a2+b2=c2,l=x−sqrt(d2−y2),r=x+sqrt(d2−y2)a^2+b^2=c^2,l=x-sqrt(d^2-y^2),r=x+sqrt(d^2-y^2)a2+b2=c2,l=x−sqrt(d2−y2),r=x+sqrt(d2−y2)如果这个点的纵坐标大于d,直接输出-1如果两个区间有交集,那么共用一个雷达即可最后找有多少个区间两两不相交没有交集的要加一个雷达。上代码#include<iostream>.原创 2021-01-03 10:38:22 · 153 阅读 · 0 评论 -
【ybtoj 高效进阶 1.2】A.奶牛晒衣服【贪心】
分析书上写的用大根堆¿贪心首选:二分二分晒衣服的时间然后判断是否能在这个时间内晒完所有可以就将这个时间变成右边界不然它+1变成左边界上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,m,t,l,r,ans;int a[500001],x[500001];int pd(int mid){ int j=0; for(int .原创 2021-01-03 08:26:34 · 124 阅读 · 0 评论 -
2020寒假【gmoj2200】【GDKOI训练】【纸牌游戏(card)】【贪心】
题目描述Bessie 是一头非常喜欢纸牌的奶牛,虽然她没有大拇指,但她对纸牌有近乎痴迷的喜爱。不幸的是,牛群中的其他牛都不是好的对手。他们的水平真的很差。他们总是以一种完全可预测的方式来玩纸牌!尽管如此,Bessie 仍然可以选择如何获胜。Bessie 和她的朋友Elsie 在玩一个简单的纸牌游戏,她们拿了一付有2n 张卡片的牌,牌上的数字编号为1- 2n ,并将其均分成两份,一份卡片给Bes...原创 2020-03-22 21:15:45 · 233 阅读 · 0 评论 -
2020寒假【gmoj2404】【cowcar牛车】【贪心】
题目描述高速公路上有N(1<=N<=50,000)只奶牛,编号为1…N,每头牛都开着自己的车,第i头牛的车速为S_i(1<=S_i<=1,000,000)km/h,告诉公路上一共有M个车道(1<=M<=N)。为了安全起见,每头牛都遵循以下原则:同车道前面有x头牛,牛的车速就会降低DX(0<=D<=5,000)KM/h,当然不会降到0以下,所以车速应...原创 2020-03-16 19:47:21 · 171 阅读 · 1 评论