贪心
文章平均质量分 56
天翼之城*
这个作者很懒,什么都没留下…
展开
-
Codeforces 1629 C. Meximum Array —— 简单贪心
This way题意:给你一个长度为n的数组a和一个空的数组b,你每次可以选择最前面k个,求出其中的MEX,塞到b的最后面。要使b的字典序最大,问答案是什么。题解:字典序有关的很多是贪心,那么这道题既然要字典序最大,那我们肯定前面取的时候要贪心地大呀,那就枚举每一个数是什么,然后看看现在a中是否能找得到,如果找不到了就是它。同时要注意维护a中还剩下的数。#include<bits/stdc++.h>using namespace std;const int N=2e5+5;原创 2022-02-09 20:06:37 · 222 阅读 · 0 评论 -
Codeforces 1629 A. Download More RAM —— 简单贪心
This way题意:告诉你一开始RAM的容量k。现在有n次运算,每次运算需要占用你a[i]容量的RAM,并且运算完之后会不占用,还会给你的RAM增加b[i]点容量。但每个只能用一次。问你你的RAM最后最大是多少。题解:那么一个显然的贪心,我们肯定是取a最小的先运算,然后拿过来b。#include<bits/stdc++.h>using namespace std;const int N=105;struct node{ int a,b; bool oper原创 2022-02-09 17:37:17 · 397 阅读 · 0 评论 -
Codeforces 1631 E. Paint the Middle —— 贪心,一点点思维
This way题意:给你长度为n的数组a,你每次可以选下标为i,j,k(i<j<k)的三个位置,并且a[i]=a[k],然后销毁中间那个数,问你最多能销毁多少个数。题解:难度不高,我做的时候还没有评级,感觉应该不会超过23.和做前面题目用的时间差不多,果然应该去刷刷水题了。做完之后看别人的代码发现好像有很短的?等写完这篇博客去研究研究。一题多解的能力是非常必要的首先能想到的是,任何一个数字最多只包括一个区间,假设:12315671,那么中间这个1是有必要的吗?显然没有。那么将每原创 2022-02-02 15:02:50 · 744 阅读 · 0 评论 -
Codeforces 1631 D. Range and Partition —— 尺取,贪心,一点点想法
This way题意:给你n个数,你要将其分成k个区间,并且任意一个区间中,值在[x,y]中的数的个数要大于值不在[x,y]中的数的个数。问你y-x要最小的话,x和y分别是什么,并且要将这k个区间的左右端点输出。题解:嗨呀,果然是水题以前做太少基础都不扎实了,做到这种有那么一点点需要思考的题目才找回感觉嘛。怎么找x,y使得y-x最小?我最直接的想法就是从小到大枚举y的时候确定x,如何确定才能避免时间复杂度变成O(N^2).尺取。由于尺取的时间复杂度为O(N),因此我们不能将检查当前情况正确性的原创 2022-01-31 14:56:51 · 672 阅读 · 0 评论 -
Codeforces 1631 B. Fun with Even Subarrays —— 贪心
This way题意:给你一个长度为n的数组a,你每次可以选择一个长度为2k的连续区间(k不定),将后k个数一一对应赋值给前k个数,问你最终要使得a中所有元素相等,需要至少多少次操作。题解:想错了…我以为是前赋值后或者后赋值前,这样情况就比较复杂了,暂时想到的方法是区间DP,还有一些奇奇怪怪的DP。但是2e5的范围不能接受,以后再想想怎么做,或许也会凭此出一道题目。既然是后赋值前,那么很容易就知道,最后所有数一定和最后一个数相等,那么就从最后一个数每次扩张到前面即可。#include<原创 2022-01-30 17:19:00 · 355 阅读 · 0 评论 -
Codeforces 1631 A. Min Max Swap ——贪心,回归回归
This way题意:给你长度为n的数组a和数组b,你每次可以将a[i]和b[i]交换,此操作次数不定。问你max(a)∗max(b)max(a)*max(b)max(a)∗max(b)最小是多少题解:那么肯定是大的放一边,小的放一边,所以两种情况。a[0]表示小的放这,a[1]表示大的放这。好久没怎么做题目了,都有点遗忘了,最近回归找找感觉#include<bits/stdc++.h>using namespace std;const int N=1e2+5;int a[原创 2022-01-30 15:35:15 · 735 阅读 · 0 评论 -
Codeforces 1554 A. Cherry —— 贪心(双语)
This way目录题意:题解:C++代码:Python代码:题意:给你一个长度为n的数组a,你需要找到区间[l,r](l<r)(l<r)(l<r)使得max(a[l:r])*min(a[l:r])最大,输出最大值题解:一开始看到这道题第一感觉就是笛卡尔树,但是想想这是A题,是笛卡尔树的可能性较小。于是通过理性分析,发现可以枚举每个值作为最大值,然后找最小值最大的区间。那么就可以发现,如果当前的数作为最大值的时候,区间变得越大,最小值不会变大,且通常是变得更小。于是就发现,相原创 2021-08-27 20:27:38 · 210 阅读 · 1 评论 -
Codeforces 1552 E. Colors and Intervals —— 贪心,sorting(双语)
This way目录题意:题解:C++代码:Python代码:题意:给你n*k个数a,每个数的值都在[1,n]之间,且每种值正好有k个,让你输出n个区间,1.第i个区间xi,yix_i,y_ixi,yi要满足a[xi]=a[yi]=ia[x_i]=a[y_i]=ia[xi]=a[yi]=i。2.且对于数组里面所有的数,它最多只能被包含在⌈nk−1⌉⌈\frac{n}{k−1}⌉⌈k−1n⌉个区间里。题解:其实平时做到这种题目就是连蒙带猜写的…感觉上答案对了且暂时找不到反例就写写试试原创 2021-08-07 15:07:02 · 172 阅读 · 0 评论 -
Codeforces 1552 C. Maximize the Intersections —— 贪心,思维(双语)
This way目录题意:题解:C++代码:Python代码:题意:现在有n*2个点围成一个圈,告诉你有m对点已经相连。让你自由让剩下n*2=m*2个点两两相连,每个点最多被用到一次。问你最后这些线段最多有多少交点(不用管点的间距)。题解:这种题目我还不太会做…首先考虑n*2个点围成的圈,假设没有已经相连该怎么做最大。一开始连一条边,然后连第二条边的时候与第一条有一个交点,连第三条的时候与前两条都有交点…以此类推。那么我们就知道是前n个点一次跟后n个点相连,就像这样:1连n,2连n+1,原创 2021-08-04 21:44:20 · 189 阅读 · 0 评论 -
Codeforces 1492 E. Almost Fault-Tolerant Database —— 贪心,想法
This way题意:给你n个长度为m的数组,让你构造一个长度为m的数组使得它对每个数组的差异不超过2,差异指a[i]!=b[i]题解:首先我们知道由于构造的数组要对每个数组符合,那么其实在任何一个数组上进行修改使得它变成最终数组都是可以的。于是选择第一个数组为基准。我们可以知道,如果两个数组的差异量>=5则不可能。那么所有的差异量都<=2则是答案。对于差异量为4的数组,我们只需要枚举3+2+1种情况来看看是否达到答案即可。对于差异量最大为3的情况需要特殊考虑:假设对于i,j原创 2021-02-25 11:14:31 · 135 阅读 · 1 评论 -
Codeforces 1469 F. Power Sockets —— 二分+线段树,贪心
This way题意:现在有一个根节点,和n条包含a[i]个节点的链。一开始所有点的颜色是白色的。你每次可以做以下操作:找到树中某个白色节点,拿出一条链,将这个节点和链上某个节点连接,并且这两个点的颜色变成黑色,之后这条链属于树中一个部分。你可以合并任意的链,问你离根节点第k远的白色点的深度最小是多少。题解:首先知道了一点:加入一条链的时候,两个白点会变成黑色,那么长度小于等于2的必不用加入。并且长的链在前面一定是更优的,因为短链在前,再加长链的话,会使得更多的白点深度增加。链接树上的白点原创 2021-01-01 21:34:10 · 333 阅读 · 2 评论 -
Codeforces 1348 F. Phoenix and Memory —— 贪心,权值线段树,有丶东西
This way题意:现在有n个人,他们可行的取值范围是li~ri。让你构造一个排序使得它符合每个人的范围,问你这个排序是否是独一无二的。题解:首先找一个排序的话,只需要从小到大枚举值,然后查看当前有哪些人包含这个值,将右端点最小的那个人赋予这个值即可。因为这必然是最优的,取右端点最小的话,剩下的人的选择机会更多。对于是否独一无二的问题,我们只需要选择两个人,使得max(lef[i],lef[j])<=v[i],v[j]<=min(rig[i],rig[j]),就像下面这个样子:原创 2020-12-10 18:05:28 · 147 阅读 · 0 评论 -
Codeforces 1380 G. Circular Dungeon —— 贪心
This way题意:现在有一个长度为n的有向圈,i只能往i+1移动,n往1移动。有n个箱子要放到圈上的每个位置,现在有两种箱子,1.拿到价值c[i]并且继续走2.游戏结束这个人会随机出生在某个点,然后进行游戏。你要确定k个二号箱子,n-k个1号箱子,并且将其放到圈上,使得,这个人拿到的钱的期望最小。问你k=1~n时的答案题解:水题啊,有点配不上这个分数,我们肯定是贪心地将大的箱子变成2号,然后k个置为2号之后,将接下来k个数放到这些箱子的前面一个位置,一一对应,这样子能取得的钱最少,原创 2020-12-09 18:48:03 · 118 阅读 · 0 评论 -
Codeforces 1446 D1. Frequency Problem (Easy Version) —— 想法,贪心,有丶东西
This way题意:给你一个长度为n的数组,问你出现最多的数的种类>=2的子串长度最长是多少题解:是一个很简单的题目啊,我就是一直想不到一个很重要的点:如果整个数组的众数>=2的话,那么整个数组就是答案。如果只有一个的话,那么这个众数一定在答案之中,因为如果它不在最多的数中,那么一定可以向外扩展直到这个数的数量和当前最多的数相等。于是我们可以枚举是哪个数和这个众数组成答案,然后for一遍去做。此时会出现有某个数出现的次数比x和y还多的请况,但是也就说明当前情况不是最优解,因此原创 2020-11-26 16:02:28 · 171 阅读 · 0 评论 -
Codeforces 1430 F. Realistic Gameplay —— dp
This way题意:现在有n波怪物,每波怪物起讫时间为l[i]~r[i],有a[i]只怪物,你现在有一把枪,弹夹容量为k,你开枪不用时间,一枪一个小朋友。但是换弹夹需要1s,并且换弹夹的时候,如果弹夹里有子弹,会将子弹扔掉再塞满。你需要在每波怪物的时间限制内将其杀光,并且花费的子弹数最少(包括扔掉的子弹),问你最少需要花费多少子弹。题解:dp[i]表示在i波怪物开始前将弹夹装满时最少需要扔掉多少子弹注意是开始前,因为如果设为结束后的话,很难算那么对于当前第i个位置,更新后面的位置,因为如果原创 2020-11-17 16:15:17 · 153 阅读 · 0 评论 -
Codeforces 1316 E. Team Building —— 状压DP+贪心
This way题意:现在有n个人,要从里面挑选p个人当做队员,k个人当做观众。每个人当做观众时会有一个贡献a[i],当做队员时,站在不同的位置会有不同的贡献s[i][j],每个人只能被选成某个类型一次,队员的每个位置都只能站一个人问你挑选完后最大的值是多少。题解:一眼就是状压dpdp[i][j]表示到了第i个人,已经站的位置的状态为j的最大贡献。但是我一下子还突然想不到怎么看当前的人是否是那前k大的a中的一个,还被卡了一会转念一想排个序不就好了,然后枚举人的同时枚举已经站的位置情况,然原创 2020-08-16 19:44:57 · 125 阅读 · 0 评论 -
2020牛客暑期多校训练营(第七场)A Social Distancing —— DP,贪心
This way题意:二维平面上你要确定n个点的位置,使得他们到零点的距离不超过r,且要最大题解:有模拟退火的做法,,没看过,也不是很懂怎么样才能多源点往最优方向走。这个式子转换一下:→∑i=1n−1∑j=i+1n(xi−xj)2+(yi−yj)2\rightarrow\sum\limits_{i=1}^{n-1}\sum\limits_{j=i+1}^{n}(x_i-x_j)^2+(y_i-y_j)^2→i=1∑n−1j=i+1∑n(xi−xj)2+(yi−yj)2→∑i=1原创 2020-08-14 10:46:44 · 154 阅读 · 0 评论 -
2020牛客暑期多校训练营(第九场)B Groundhog and Apple Tree —— 贪心,树形DP思想
This way题意:现在有一棵树,你要从1开始跳一遍所有的点并且每条边只能走两次,再回到1,每条边都有一个边权,你走过这条边会先消耗wi点HP,每个点都有一个果子,吃掉这个果子会上升ai点HP,你在任何时候的HP不能小于0.并且你如果休息一秒钟会恢复1点HP。问你最少要休息多少时间才能走完这棵树。题解:赛场上还想着二分,二分个毛线。还有情况把自己绕晕了,我果然不适合做模拟题。首先我们肯定是遍历这棵树,然后一个点有多个儿子,我们需要按最优的顺序去遍历这个儿子,那么每个儿子都有两个权值:ned:原创 2020-08-09 12:59:12 · 611 阅读 · 0 评论 -
Codeforces 1382 E. Mastermind —— 想法,贪心
This way题意:现在给你一个长度为n的数组a,让你构造一个新的数组b使得b和a位置相同且数相同的位置有x个,数的multiset集合的交集大小为y。题解:那么首先由于数量多的数对于y-x的限制比较大,那么我们就优先将数量最多的数当成x。注意这里是每次数量最多,而不是一开始数量最多。优先队列Q就是做这个的。队列p[i]表示值为i的所有数的位置接下来找y-x的数是哪些。还是从数量多的开始找,注意剩下的位置有可能是小于这个数的数量的,那么就要取个min。最后放y-x个数的话,就循环移位放就行了原创 2020-07-30 17:35:10 · 217 阅读 · 0 评论 -
Hdu 6763 Total Eclipse —— 贪心,并查集
This way题意:现在有n个城市构成一张图(可能不连通),每个城市的亮度为bi,你每次可以选择一个大小为k的集合的城市,这个集合的城市不经过非集合的城市就能两两到达。并且将所有的亮度-1。你每次要选的k尽量大并且最终所有的城市的亮度为0.问你最少需要几次操作。题解:一开始的题意是有问题的?!!爷吐了如果不是每次k要尽可能大,我感觉这道题有点难,至少我想了一段时间想不出来。后来题目改了之后这不就是水题吗就比较简单。首先可以确定的是肯定是从亮度比较小的城市开始,将所有和他连通的城市的亮度减掉它原创 2020-07-23 17:53:03 · 1780 阅读 · 3 评论 -
Codeforces 1186 F. Vus the Cossack and a Graph —— 线段树,贪心
This way题意:现在有一张简单图,n个点m条边,让你留下最多⌈n+m2⌉\lceil{\frac{n+m}{2}}\rceil⌈2n+m⌉条边,假设每个点的当前度数为di,每个点的最终度数要大于等于⌈di2⌉\lceil{\frac{d_i}{2}}\rceil⌈2di⌉。问你留下来哪些边题解:我最近做题目都先考虑线段树是否能做…不知道这是不是一个好习惯,但是这道题依旧还是用线段树过了。首先我考虑减少当前度数最大的点的边,然后和这个点相连的那些点应该删谁?如果删除度数较大的那个的话:原创 2020-07-17 16:26:51 · 228 阅读 · 0 评论 -
Codeforces 1187 D. Subarray Sorting —— 线段树,贪心
This way题意:现在有两个数组,并且你每次可以做一个操作:选择一个区间,并且排序。问你对上面这个数组做一些操作之后是否能得到下面这个数组。题解:那么如果每次选的区间大小为2,那么就像是一个冒泡排序了,将一个大的值依次向后传并且保持其他的值顺序不变。那么我们只需要从后往前枚举一遍b数组,然后查看a数组对应的bi的值的最后一个位置到n的最大值是否有一个数大于他。如果有就不行,因为他没有办法交换到后面去。如果行那就将这个值去掉,因为它已经排好了。我用线段树维护最大值。#include<原创 2020-07-17 14:11:37 · 139 阅读 · 0 评论 -
Codeforces 1375 E. Inversion SwapSort —— 想法,贪心
This way题意:现在有一个长度为n的数组,让你按照一个顺序去交换所有一开始的数组的逆序对的位置,从而使得最终的数组非递减。题解:那么就是从前往后去做,对于当前位置,找到所有一开始数组中的它与它之后的逆序对的位置,然后按照数值从大到小去交换,这样的话,既能保证最终放在这个位置的值是当前最小的,又能不破坏后面的值的大小情况。#include<bits/stdc++.h>using namespace std;const int N=1e3+5;#define pa pair&原创 2020-07-16 10:16:48 · 189 阅读 · 0 评论 -
Springboards —— 贪心,类单调栈
进不来的题意:你要从(1,1)走到(n,n),你每次可以往右或往上走一步,现在有一些跳板,当你走到左下角的时候,你就会跳到右上角,并且不算步数,问你需要走最少多少步。题解:我感觉这道题CDQ分治可以做,但是写到一半的时候忘掉了。。。我用ans数组表示到第i个跳板可以减掉的最长步数。首先为了保持每个点位置的一致性,需要将跳板的起点和终点拆开进行分步运算。那么对于每个跳板的起始位置,肯定是找到它左下角的最大答案进行转移,那么我们就需要按照x轴进行排序,然后查找的话可以用线段树,当然也可以用别的方法原创 2020-07-07 19:55:33 · 183 阅读 · 0 评论 -
Codeforces 1374 F. Cyclic Shifts Sorting —— 暴力,贪心
This way题意:给你一个长度为n的串,你每次可以选择一个点i,然后将ai,ai+1,ai+2a_i,a_{i+1},a_{i+2}ai,ai+1,ai+2循环向右移位一次。让你输出选择的点的次序使得最终的这个串递增。你最多可以使用的操作次数不超过n2n^2n2题解:这个的话,我以为我想错了,为什么会这么简单呢。就从小到大枚举每个位置,然后找到未排序的最小的点的最前面的位置,然后一次往前移两格,直到当前位置或者当前位置+1的地方,如果是当前位置+1的地方的话,就再移两次即可。然后最后两原创 2020-07-04 17:55:42 · 252 阅读 · 0 评论 -
Codeforces 1369 E. DeadLee —— 想法,贪心
This way题意:现在有n种菜,每种菜都有wi碟,你有m个朋友,每个朋友都有两种喜欢的菜,你按照某个排序让朋友一个一个来吃菜,如果现在桌上有这个朋友喜欢的菜,他就会每种都吃一碟,但是如果两种菜都没了,你就会死。问你最后你会不会死,如果不会输出这个排序。题解:假设喜欢吃第i种菜的总人数是si,如果si<=wi,那么就意味着喜欢吃第i种菜的人一定都可以吃到,于是我们将这些人往后排,我这里使用了栈来存储。然后对于这些人另一个喜欢吃的菜sj–,这样依次到最后。如果有某个时候所有的si>wi的原创 2020-07-02 21:18:41 · 5325 阅读 · 0 评论 -
Codeforces 1374 E2. Reading Books (hard version) —— 想法,贪心
This way题意:现在有两个人要一起读书,有n本书,他们要读正好m本,每本书有3个属性:t:表示读完这本书要的时间,a:第一个人是否喜欢这本书,b:第二个人是否喜欢这本书。让你构造一种方案使得他们读的书正好是m本,并且这些书中第一个人喜欢的书有>=k本,第二个人喜欢的书有>=k本,并且读书时间最少。题解:感觉最近做的题目都有点贪心的思想。并且这道题目 恶心到我了,我做了很久,一开始的想法错误到后来改正了想法之后慢慢debug。但是这道题目就听听思路就好了,我的代码的话有点长,可原创 2020-07-04 13:54:18 · 536 阅读 · 0 评论 -
Codeforces 1373 F. Network Coverage —— 想法,贪心
This way题意:现在有n个城市围成一个环,每个城市有ai个家庭需要供电,并且每个城市有一个发电厂,可以供给第i和第i+1个城市共bi个家庭的电。问你每个家庭是否都能得到电。题解:那么我们首先选择一个i,要求是bi>=ai。那么我们假设bi首先满足ai,然后多的供给给下一个城市,这样做一遍,很明显中间会有不够的地方,此时我们就需要让选择的这个起始城市多供给给缺的部分。那么假设所有缺的加起来为mx,如果mx>ai的话,bi就算将bi全部都传递过去也不够,所以这种情况不行。如果mx原创 2020-07-03 20:26:34 · 3912 阅读 · 0 评论 -
Codeforces 1354 F Summoning Minions —— 贪心
This way题意:你可以召唤n只怪兽,当第i只怪兽被召唤出来时,它的基础力量是ai,并且你曾经召唤的怪兽都可以获得bi力量,如果你扔掉这只怪兽,bi的加成不会消失,现在你只能留k只怪兽在场上,问你所有在场怪兽的力量总和最大是多少。题解:它的数据范围比较小啊,但是又不是特别小,首先我就排除了搜索和状压,至于dp是有可能的吧,但是我懒得去想。首先可以确定的是,最终留在场上的k只怪兽的召唤顺序一定是按b从小到大的,并且最后一只怪兽放在所有怪兽走完流程之后才召唤,剩下n-k只怪兽重复地进出第k个位置,原创 2020-06-26 21:44:11 · 195 阅读 · 0 评论 -
Codeforces 1328 F Make k Equal —— 贪心
This way题意:给你n个数,你每次可以让最大的数-1或者让最小的数+1,问你最少需要多少步使得有至少k个相同的数。题解:好像没什么必要去写这个题解,因为它太水了,怎么获得2400的评分的首先我们枚举k个相同的数是什么,它一定是其中的某一个数。然后看小于等于这个数的个数是否>=k,还有大于等于这个数的数的个数是否>=k。有一点要注意就是并不用将全部都变成这个数,就像第二个...原创 2020-03-29 11:28:10 · 378 阅读 · 0 评论 -
ICPC North Central NA Contest 2017 F. Atlantis —— 贪心
This way题意:现在有n个宝库,给你去每个宝库所需要的来回时间和海拔。海水高度一开始在0,每个单位时间增长1,你在来回某个宝库的时候,海水高度一定不能超过这个宝库的海拔。问你最多能访问多少宝库。题解:那么我们一定是优先访问海拔低的地方。但是我们怎么知道当时宝库是否访问呢,我们可以假设当前宝库会访问,用一个优先队列记录每个访问的宝库的时间,那么对于之后第i个宝库访问的时候,我们先将访问...原创 2020-03-01 21:27:36 · 189 阅读 · 0 评论 -
Gym 102501 F Icebergs —— 贪心
This way题意:有s种动物,T种交换可能,就是说两个动物如果相邻并且他们有交换可能,你就可以交换这两种动物,最后是N只动物,让你在不违反交换可能的前提下使得他们最终排列的字典序最小。题解:这道题不错啊,我没有想对,也没时间敲了。对于没有交换可能的两只动物来说,它们的先后顺序一定不会变。那么Q[i]队列就表示第i种动物有多少中断,也就是有多少不可交换的位置。那么我们枚举答案的位置,那...原创 2020-03-01 21:20:14 · 693 阅读 · 0 评论 -
Codeforces 1225 F Tree Factory —— 贪心
This way题意:现在你有一根竹子(除叶子结点外其它节点都只有一个儿子的树),你每次可以选择一个点,使得他的父亲节点变成它父亲的父节点。现在给你变换完成的树,让你回推这根竹子,并且输出每次变换的节点编号,并且变换次数要最少。题解:其实也是一道规律,,像下面这个图:最优的变换策略应该是:也就是将深度最大的放在最后,这样子就可以少移一点。#include<bits/st...原创 2020-02-13 12:21:51 · 165 阅读 · 0 评论 -
Codeforces 1244 G Running in Pairs —— 贪心
This way题意:有两个1-n的排列,现在要让你重排这两个排列,使得题解:第一个顺序排列,第二个也先顺序排列,然后值从大到小,位置从小到大依次交换,如果超过k了就找到可以的位置,结束。#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=1e6+5;ll a[N];...原创 2020-02-02 13:13:47 · 104 阅读 · 0 评论 -
Codeforces 1250 G Discarding Game —— 贪心
This way/a>题意:现在你和一个机器人在比赛,共有n个回合,从1到n,每回合你会得到a[i]点值,机器人会得到b[i]点值,规则入下:当有一个人的值大于等于k,那么这个人就会输掉比赛,另一个人赢,GG。但是如果两个人同时大于等于k,那么两个人都算输,GG每一次你都可以重置你们的值,重置的意思就是你和电脑都减去你们两个人的最小值。当第n回合结束时没分出胜负,GG。现在问你是...原创 2020-01-30 20:52:14 · 300 阅读 · 1 评论 -
Codeforces 1183 F Topforces Strikes Back —— 贪心,因子的性质
This way题意:给你一些数,让你找到不超过三个数,其中没有一个数是另一个数的因子,使得这三个数的和最大。题解:for一遍,用一个set保存已经存有的数,每次暴力的消除这个数的所有因子,然后再找到最大的数,在消除那个数的因子,找到之后剩下的最大的数。为什么可以贪心的去做,假设我现在是x,y,z三个数,为什么找到一个最大的y,而不是选择一个小一点的y1,因为如果选择小一点的,那么是因为z...原创 2019-11-11 16:16:46 · 165 阅读 · 0 评论 -
Cleaning Shifts POJ - 2376 ——贪心,最少线段覆盖
Farmer John is assigning some of his N (1 &lt;= N &lt;= 25,000) cows to do some cleaning chores around the barn. He always wants to have one cow working on cleaning things up and has divided the day i...原创 2018-08-25 08:37:32 · 223 阅读 · 0 评论 -
Mike and distribution CodeForces - 798D ——二维贪心
Mike has always been thinking about the harshness of social inequality. He’s so obsessed with it that sometimes it even affects him while solving problems. At the moment, Mike has two sequences of pos...原创 2018-08-25 08:40:37 · 200 阅读 · 0 评论 -
The Queue CodeForces - 767B ——贪心
Finally! Vasya have come of age and that means he can finally get a passport! To do it, he needs to visit the passport office, but it’s not that simple. There’s only one receptionist at the passport o...原创 2018-08-25 08:43:18 · 234 阅读 · 0 评论 -
Codeforces Contest 1082 C Multi-Subject Competition——枚举
A multi-subject competition is coming! The competition has m different subjects participants can choose from. That’s why Alex (the coach) should form a competition delegation among his students.He ha...原创 2019-01-23 14:02:06 · 205 阅读 · 0 评论