![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
gym102916K. Bloodseeker
https://codeforces.com/gym/102916/problem/K首先对于所有h=min(h,m)对于t<=h的,由于它可以更换攻击目标,反正我可以让他们只剩最后一滴血,然后留着最后一滴血的时候再用,就等于备用血包然后对于t>h的,按h下降顺序排序In what order should we process enemies from the second group? The right answer is by decreasing hi values.原创 2021-03-19 21:49:49 · 317 阅读 · 0 评论 -
gym102823A. Array Merge 2018CCPC桂林
https://codeforces.com/gym/102823/problem/A思维题还是太弱了。。。感觉思维短时间练不出效果,只能看看能不能积少成多首先如果随便拿的话,那么肯定是大的放前面小的放后面然而直接找着归并排序放的话显然就错了,因为可能a[1]很小,但是a[2]巨大无比,然而一直被a[1]卡着出不来所以我们要想个办法让a[1]和a[2]在一起考虑,于是可以把他们合并起来取平均值也就是把a,b数组从前到后合并,每次新增一块,考虑末尾两块的合并,如果当前新增的块比末尾块的平均原创 2020-11-17 22:27:06 · 435 阅读 · 0 评论 -
C Decrement on the Tree 2020 牛客暑期多校训练营(第十场)
https://ac.nowcoder.com/acm/contest/5675/C每条边有一些权值,每次选择一条路径全部减1,最多选多少条路径。我们把问题转换为最少多少个路径的端点,路径数就是段点数/2,对于一个点,我们考虑他连接的所有边,如果mx<=sum/2,那么只要两条边能匹配起来,他本身就不用作为一个端点,那么此时作为端点的数量就是sum&1,如果mx>sum/2,那么最大的那条边是匹配不完的,作为端点的数量就是2*mx-sum。修改维护的话就用个multiset搞搞就原创 2020-08-10 21:52:27 · 184 阅读 · 0 评论 -
codeforces1389D Segment Intersections
https://codeforces.com/problemset/problem/1389/DCD比B水哪里去了肯定是先选择由一个区间的扩展到覆盖另一个区间,然后再由另一个区间覆盖满整个全区间比较优那就直接枚举1->n都进行这样的操作,注意可以在一次操作结束后,通过两个区间同时增加的姿势达到k,每次都这样算一下看会不会比继续操作下一对ab区间更优#include<bits/stdc++.h>#define pb push_backusing namespace st原创 2020-07-30 01:57:09 · 207 阅读 · 0 评论 -
codeforces1389B Array Walk
https://codeforces.com/problemset/problem/1389/B被B关了一年,中途溜出来写了个C,然后继续被关,一个半小时的时候发现了反复横跳肯定在一个位置上,然后D巨水,没写完上绿指日可待访问肯定是[1,l]都访问过,在中间某处反复横跳,对于相同的末尾 l,肯定在一个相邻两个和最大的地方反复横跳。但注意不是找全局相邻最大的,因为如果比较靠后可能跳不完k次所以枚举每个位置去反复横跳注意最后一次是向左跳的情况...原创 2020-07-30 01:50:08 · 351 阅读 · 0 评论 -
codeforces 1251E2Voting (Hard Version)
https://codeforces.com/problemset/problem/1251/E2菜不成声.jpg有个很显然的贪心性质,就是对于每一个a[i],由于1-i-1的m要小于等于它,所以1-i-1必须先全部传递完成后再考虑他,如果此时人数还不到a[i].m,那么就要从a[i---n]中购买,使得已经购买的人数够得到a[i].m使他也被传递,另一种方式就是直接把他给买了。然后就...原创 2019-10-25 22:16:46 · 255 阅读 · 0 评论 -
codeforces1203 F1 Complete the Projects (easy version)
传送门:http://codeforces.com/problemset/problem/1203/F1参考博客:https://blog.csdn.net/evilwind2000/article/details/99542823?utm_source=app分两种情况:b>=0的时候十分简单,只要一直取a最小的就行了b<0的时候,一直取 a+b 较大的,只需证明 a1+...原创 2019-08-14 10:45:47 · 315 阅读 · 2 评论 -
codeforces1202D Print a 1337-string...
构造题是不可能构造得出来的,这辈子都构造不出来的,600个人会构造也没用,只能靠偶像用我的账号过E然后维持一下分数这样几。当场已经想到构造1333733337这种形式,先找到最多的3然后把剩下的补上就行了,但我突然想到剩下的3补到后面,前面的3和后面的3会一起选择,然后变成更多的33,于是就不知道怎么确定后面3的数量了。。。结果是先找出最多的3,然后在最前面的2个3后面插入7....变成1...原创 2019-08-09 09:48:04 · 277 阅读 · 0 评论 -
2019牛客多校第五场 H subsequence 2
题目链接:https://ac.nowcoder.com/acm/contest/885/H3个人一起卡B卡一年,各种水题都没看,难顶。由于前m个小写在字母地无序对恰好全部出现,我们可以直接算出每个字母的第几个应该在哪个位置。比如我要确定字母a的第一个在第几个位置,那么就看所有有a的条件中,在第一个a之前的字母总和是多少,再加上a在他自己本身的次序1,就是它所在的位置。无解的情况要...原创 2019-08-01 20:30:13 · 341 阅读 · 0 评论 -
hdu6625 2019杭电多校第五场
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6625比赛的时候想出了一个和正解差不多的类似贪心,但是实现非常麻烦,而且最后半个小时实在是写不完,写到还剩10分钟的时候放弃了。赛后打开dls直播间,看着dls画了张图,讲了一句话,秒懂,果然这种肯定是有一种很简单的贪心的,但感觉总离想到差一点。首先考虑贪心目的,我们要字典序最小,那么就要小得...原创 2019-08-06 00:00:04 · 326 阅读 · 0 评论 -
Food Stalls (2019 Google Kickstart Round D)
题目链接:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051061我。。。。这还能不按照x顺序给出的吗。。。,前两个样例都是顺序给出的,第三个样例我没注意。。。但怎么过了第三个样例啊。。。难顶,分低了还罚时爆炸我们假设当前选出了k+1个位置,那么这k+1个位置的c是固定加到代价里去的,那么这个时候货...原创 2019-07-28 16:20:49 · 737 阅读 · 0 评论 -
codeforces 1203F2 Complete the Projects (hard version)
传送门:http://codeforces.com/problemset/problem/1203/F2由简单的我们知道要在b<0的部分,我们需要选择a+b尽可能大的所以这题要求最多能选多少个,b>=0的情况我们尽量拿就行了b<0的情况,就尽量先拿a+b大的,当某个时刻某个物品不能拿的时候,就从之前的拿的物品中b最小的(减得最多的)把他(可能是当前这个物品本身)丢出去...原创 2019-08-14 10:55:06 · 461 阅读 · 0 评论 -
hdu6687 Rikka with Stable Marriage 2019杭电多校第9场
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6687题解传送门:https://blog.csdn.net/liufengwei1/article/details/985361618说了,原题竟然没有人开,我看都没看。。。claris还说第五场这题过了76个这场怎么就过了8个。。。那题求最小,这题求最大,改改finda和findb函数...原创 2019-08-19 19:21:33 · 361 阅读 · 2 评论 -
hdu6709 fishing master 2019ccpc网络赛
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6709我还记得去年ccpc网络赛第一题也是这种贪心题,放进堆里然后时光倒流。。。对于煮的久的鱼,我们一定要先钓,因为煮得久,在煮鱼的时候就能钓得更多,出现没鱼可煮然后要登一条鱼钓上来再开煮的情况就可能性更小。我们再考虑对于每一次煮鱼,如果还剩>=k的时间,那么肯定多钓一条鱼,如果此时剩余...原创 2019-08-23 23:16:30 · 693 阅读 · 2 评论 -
hdu6655 2019杭电多校第七场
这题是全场最水的题。。。榜被带歪了比赛最后半个小时开始写,然后一开始没想清楚。。。WA了,然后想到问题后,16:52不知道怎么改了。。。。其实稍微仔细推推就很简单了,比赛最后的时间有点紧张。考虑现在是 Cuber QQ 出牌,他有两种选择,如果他有某张对方很多的牌,那么他出这张牌,就能让对方出不了。第二种选择也是我之前WA的时候没考虑到的情况,他有很多张颜色为 i 的牌,但对面有这张牌...原创 2019-08-12 20:34:38 · 391 阅读 · 0 评论 -
2019徐州网络赛 K. Center
https://nanti.jisuanke.com/t/41393看了clarification,说每个点都不相同,这就好做了我们把所有可能的中心点求出来,然后看哪个数量最多就行了。注意到clarification中所说的,如果一个点就在重心对称点上,那么不需要加一个新点。所以一个点的中心可能再他与其他n个点(包括他本身)的中心上。我们把每个点与其他n个点连成线的中点求出来,...原创 2019-09-07 19:14:03 · 200 阅读 · 0 评论 -
codeforces 1215D Ticket Game
https://codeforces.com/problemset/problem/1215/D先手想赢的话,只有4种方案,要么就让左边尽可能大,如果我尽量选左边的?放9,然后后手肯定会让左边选0,右边选9(可能不是9,不过反正是逼近左边)去追上左边,如果无论如何左边都会比右边大,那么先手就肯定赢,即不可能左右相等。剩下就是左边尽可能小,右边大和右边小,都枚举一遍,有一种方案能成立,先手就...原创 2019-09-15 23:57:37 · 628 阅读 · 0 评论 -
codeforces 1209G1 Into Blocks (easy version)
https://codeforces.com/problemset/problem/1209/G1div3打多了导致我头铁觉得我必不可能做easy version我必是把hard versionA掉以后再过easy version,然后就E2贪心贪了一个半小时一直WA,最后发现题解是DP。。。贪心是错的,于是G1没写,E1没写,掉波大分。这题就是要把这个区间变成连续的一段一段的相同颜色,于...原创 2019-09-16 00:12:31 · 624 阅读 · 0 评论 -
hdu6581 2019杭电多校第一场 Vacation
现场队友二分过了,后来看dls讲课以后,发现O(n)做法非常简单自然我们考虑最终的情况,要么前面没有一辆车堵住tom,那么tom直接满速到终点如果前面某一辆车堵住了tom,那么最终情况是,从那辆车到tom全部连在一起,那辆车越过终点l[1]+l[2]...l[id]。总距离就是sum[id]+s[id],因为是这辆车堵住了,所以这辆车速度是从id到0中最慢的,这辆车到达那个位置的总时间...原创 2019-07-26 09:16:58 · 335 阅读 · 0 评论 -
codeforces 1198C Matching vs Independent Set
晚上这题写了一半感觉不太对就去写F了,结果F也写了个假贪心,虽然靠前四题的手速还是上了分小号也紫了,不过下场只能div1那么又要掉回div2了。这题事实上巨水。只要能想到一条边占用两个点,这两个点是一次性被占用掉的,所以跟什么dfs顺序啥的都没关系,只有讨论点的时候要考虑dfs树的相邻节点属于不同集合。但这里只要把点当成消耗品去加边就行了,因为一个点最多连一条边,不连白不连。于是就一直尝试...原创 2019-07-31 09:45:02 · 512 阅读 · 0 评论 -
CodeForces - 724D
要保证每个长为m的子串有个位置被选掉,切选出的序列排序后字典序最小。关键是要保证最大的字母字典序最小,所以先遍历,从前往后每m个选一个最小的,在相同字幕里选尽可能靠后的,保证之后字典序最小,然后找到无论如何必须要选的最大字母后,再从前忘后遍历,找出比最大字母小的字母全部选掉。#include#include#include#include#define maxl 100010#def原创 2017-08-02 16:21:20 · 316 阅读 · 0 评论 -
ACdream 1417
这种小的贪心,思维,技巧题我真的训练的太少了,感觉总是无从下手。字典序最小,就要求第一个是1,然后后面很多0就最后,于是用k找出刚好比1 , 10 ,100,1000,....等数字的k的倍数(处理不存在的情况),然后字典序的时候就从小到大比较久从小到大比,每次对ans*10,当前数字比ans小就更新。#include#include#define maxl 21long lo原创 2017-08-17 08:13:23 · 366 阅读 · 0 评论 -
2017ccpc网络预选赛1005
#include#include#define maxl 100000#define eps 1e-8int ans;double n;double f[maxl];void prework(){ f[1]=0;f[2]=0,f[3]=0;f[4]=2; for(int i=5;i<maxl;i++) { if(i%4==1)原创 2017-08-19 21:14:15 · 643 阅读 · 0 评论 -
CodeForces 557C
我智商太低,考试没磨出来。。。看到200想到桶排,然后先按长度排序,一个一个添加,用一些前缀和数组,就可以直接求出比当前枚举的长度大的总消耗能量值,然后预处理当前长度有多少个,然后再到比这个长度小得里面去找。注意长度相同时要跳过,只枚举一次,不然可能删除之前一个相同长度的桌脚,然而网上很多题解代码没这个处理也过了,cf竟然数据弱,没人hack吗? =_=#include#includ原创 2017-08-05 18:52:49 · 343 阅读 · 0 评论 -
codeforces 917A
考场上写挂了一个小地方,然后WA了。。。还好躺一手hls,复制D的代码改变量名交了,还上了点分,我还是菜啊据说正着贪一遍反着贪一遍有一个行就ans++,然后这样就可以A了,甚至还有直接贪A掉的。还不知道什么操作top[j]表示从i开始到j还有多少个没有被 ) 匹配掉的 (cnt[j]表示从i开始到j还有多少个没有 ) 和 ? 匹配掉的 (top2[j]表示从i开始到j还有多少个不需原创 2018-01-31 20:23:07 · 386 阅读 · 0 评论 -
CodeForces - 913C
直接按性价比排序然后贪心,优先选前面的,由于可以超过,所以要判断使用当前的超过后的sum是多少兵更新下ans。今天看了学长的题解后,发现不同的思路,f[i]表示能组成1<<(i-1)最小的cost,然后像按二进制从高位到低位处理,也要考虑用当前位超过第二份代码也写了。#include<cstdio>#include<cstring>#include<a...原创 2018-03-11 17:11:06 · 236 阅读 · 0 评论 -
UVALive 4788 Castles
听队长说他挂完之后才发现这是一套final题,蒟蒻瑟瑟发抖......结果是只有一题想出正解,还没有A掉。。。这道题当时没有想清楚,因为时间太少了。我们以每一个节点为根节点进行判断。dis[u]记录侵略和占领以u为根节点的子树所需要的兵力sum[u]记录死伤和驻守兵力当我们到达一个节点,首先dis[u]=max(sum[u],a[u].tot)记录下到达u节点需要的兵力假设我们现在已经有dis[u...原创 2018-03-25 17:06:27 · 318 阅读 · 0 评论 -
codeforces1009C Annoying Present
这道题本来是道水题,然而WA了3发。。。要求是误差不超过1e-6,然而我一开始读入x和d都是double,再加上sum和ans每次都在不停地加double,所以1e5次加法和乘法可能误差会比较大。。。。然而发现此题最多每个d都是1e3,所以一共就是1e5组询问,然后长度(1e5+1e5)*1e5/2,所以最多1e18,不会爆long long ,就直接用long long 保存,最后再/n,才能保...原创 2018-07-15 20:44:36 · 361 阅读 · 2 评论 -
codeforces990F Flow Control
最开始的想法:同一个双连通分量中随便找一条边传递这个点的全部流量,遍历整个分量就行了,而缩点之后的图是一棵树,每次选择树种度为1的点,因为他只有一条边用来传递流量,依次类推,流完连通分量树后,再流每个连通分量的内部。于是洋洋洒洒写了一堆,结果wa on test 7。于是看到网上题解,想通了只要流量总和为0,然后在这个连通图中找一棵树流就行了,我依然写的每次找出度为1的点,结果 wa on tes...原创 2018-07-27 15:02:46 · 204 阅读 · 0 评论 -
HDU 6319 Problem A. Ascending Rating
这题队友秒想正解,然后看错题,自己举个假反例吧自己的正解×掉了,赛后看到题解开始自闭。然后另一个队友脑补了一个想法丢给我写,倒着单调栈预处理,然后正着开很多个单调队列不停地维护当前数字开头的单调队列,然后如果当前第一个不是枚举位置的数字,就要单调队列合并一蛤,很麻烦很麻烦,然而还是写出来了,然而挂着对拍半小时没查出和暴力的错误,然而3000+msWA,很难受,一直到最后。其实我一开始有个想法也是可...原创 2018-07-30 23:12:03 · 179 阅读 · 0 评论 -
HDU6325 Problem G. Interstellar Travel
考场上看都没看这题。。。因为一直WA A题,只要把那个式子看出来是叉积,然后再联想到叉积之和就是面积大小,就可以知道最小的cost就是上凸包最大的面积,都不用什么特殊的做法,首先相同x坐标,必取y大的,上凸包的拐点必取,然后同斜率上一条线上的点,从后往前维护ind的最小值,如果当前的ind比他后面的点ind更小,那么比取,以得到最小的字典序。值得注意的是,对于x,y相同的点,必取ind小的,我一开...原创 2018-07-31 11:06:38 · 271 阅读 · 0 评论 -
2018牛客多校第五场 H subseq
传送门:https://ac.nowcoder.com/acm/contest/143/H这场树状数组用法专场,skydec说这题很套路的题,很简单,然而处理处dp数组后最后的贪心我想了半天还问了一蛤别人,菜不成声.jpg,先处理出dp数组,dp[i]表示以a[i]为开头的从i到n的所有递增子序列的方案数,本来应该用线段树了,然而好多人使用了神奇的树状数组,以前都是add函数从i到cnt,su...原创 2018-08-07 10:41:52 · 278 阅读 · 0 评论 -
HDU6408 From ICPC to ACM
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6408一上场读完这题,大概是个费用流防AK题吧,果然晚上dls讲题也说他第一眼费用流线段树加速找增广路(这什么东西哇,然后就跳过了,比完赛看了题解后,感觉以前noip最后3套模拟,cy的题有一道勇者斗恶龙也是这样,先不管用没用,先放进一个堆了,要用的时候再取最优的出来,算一蛤代价。这题有几个需要想到的...原创 2018-08-17 16:11:56 · 331 阅读 · 0 评论 -
HDU 6438Buy and Resell
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6438又是维护一个堆,然后搞搞维护的题,赛场上队友一蛤就A掉了,我还是菜我们维护一个小根堆,维护3个信息,那天的卖价,是否已经跟别人交换过,那天我们考虑一个新的物品跟小根堆的堆顶比较,如果新物品比堆顶还小,说明交易亏本,直接丢入堆中,否则就交易,如果堆顶的元素是已经跟之前交易过的,那么就相当于...原创 2018-08-25 19:46:07 · 1023 阅读 · 0 评论 -
ZOJ 3829 Known Notation
搞一手波兰表达式。显然的策略:1.数字个数cnt必须大于等于*的个数数opt+1,cnt=opt+1时,前面放2个数字,后面*和数字交替放,这是极限了。2.如果当前扫到的*号太多导致前面没数字可算了,我们从尽可能后面的地方找数字和它交换,因为数字越前面越好,*号越后面越好,合法的可能性更大所以就记录一个当前前面的数字个数res,以及从后往前的指针numind,来从后往前找数字,因为每次...原创 2018-11-25 16:27:04 · 128 阅读 · 0 评论 -
atcoder 2019.1.27晚 E.Weights on Vertices and Edges
https://atcoder.jp/contests/nikkei2019-qual/tasks/nikkei2019_qual_e题目给出n个点m条边,问你至少删掉多少条边,能够使得最后的所有连通块中,一个连通块中的点权之和要大于这个连通块中每一条边的值。考场上已经接近正解了,按边权排序,从小到大考虑是否加进答案里去,并查集维护一下点权和,求出最多能加进答案的边,输出m-ans,但是不...原创 2019-01-28 19:06:14 · 242 阅读 · 0 评论 -
cf 1144G 贪心
一个序列看能不能拆成1个严格上升子序列,和1个严格下降子序列,元素相对位置不能变。想着最长上升子序列照一次,最长下降子序列找一次,再判断合不合法WA了。官方题解看不太懂。评论区看到roundgod给出了一个贪心,每次我尝试吧a[i]丢到上升序列和下降序列中,如果都不能丢,就没有方案,如果一个能丢,就丢,如果两个都能丢进去,那么看a[i+1],如果a[i]<a[i+1]那么吧a[i...原创 2019-04-01 19:26:55 · 219 阅读 · 0 评论 -
CodeForces - 803C 数学贪心
传送门:https://codeforces.com/problemset/problem/803/C给一个n,要选k个严格递增的数字和等于n,且最大的公因数最大最大gcd也是n的因数,构造q*(a1+a2+..ak)=n,q<=(a1+a2+..ak),枚举q找到最大gcd#include<cstdio>#include<cstring>#...原创 2017-08-02 08:50:30 · 291 阅读 · 0 评论