
贪心
文章平均质量分 73
ACM败犬
这个作者很懒,什么都没留下…
展开
-
Codeforce 1271 D. Portals(思维 + 贪心)
题目大意:有 n 个待攻破的点,每个点有三个权值a,b,c,代表攻破这个点需要至少a个士兵,攻破完后你能招纳b个士兵,这个点的重要度为c,除此之外还存在一些有向边u,v 满足 u > v。攻破一个点不会损耗士兵,但你的士兵数量必须不小于这个点的a值才可以攻破。每攻破一个点你都可以派人驻守(可以派一个或多个),当一个点有人驻守时你就可以获得这个点的重要度,如果你派出一个人去驻守,那么你当前...原创 2019-12-16 13:37:43 · 371 阅读 · 0 评论 -
Codeforce 1251 E. Voting (贪心,思维)
题目大意: n 个人,每个人有两个属性 p,mp,mp,m,p 即 你收买这个人的价格,mmm 是你免费获得这个人的票你需要至少 m 票,问获得所有人的票至少要花多少钱。按mmm 分桶,倒过来做,计prexpre_xprex为 m≤xm \leq xm≤x 的人数。对于m=im = im=i 的人,计算一下若 prei−1pre_{i - 1}prei−1 的人都能获得,还需要买几个人...原创 2019-10-31 10:26:38 · 264 阅读 · 0 评论 -
Codeforce 1061 :D. TV Shows(multiset + 贪心 + 构造)
题目大意:有 n 个电视节目,每个节目有一个播放时间[ai,bi],你可以租用电视机来播放节目,租用一台电视机要先付 xxx(类似定金什么的),如果你在[a,b]时间段租用,你需要付租用的费用:y∗(b−a)y * (b - a)y∗(b−a)。当电视机播放一个节目时,电视机不能中途跳转到播放其它节目,一个节目被电视机播放时,也不能播到一半然后转到其它电视机去播放。问如何使租用电视机使得你可以播放...原创 2019-08-17 21:28:16 · 253 阅读 · 0 评论 -
2019 Multi-University Training Contest 1:Operation(贪心 + 线性基)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6579题目大意:给一个初始长度为n的序列,有两种操作:0 l r:询问[l,r]最大子集异或和1 x:将x加在序列尾部,使得序列边成一个长度为n + 1的新序列(看到子集异或和就想到了线性基,但数据范围太大,如果用线段树暴力维护区间线性基,复杂度会达到O(n∗log3n)O(n * log^3...原创 2019-07-22 22:48:22 · 142 阅读 · 0 评论 -
2019 Multi-University Training Contest 2:Beauty Of Unimodal Sequence(DP + 贪心构造)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6592题目大意:给你一个序列,让你构造一个字典序最大和字典序最小的单峰最长序列(这个单峰序列在峰点之前和峰点之后是严格单调的),并输出出来。分析:由于峰点范围是[1,k](话说比赛时看成了(1,k),直接就想不下去了),倒序遍历一边可以处理出 f[i][0] 表示选i号点[i,n]的最长单减序列的...原创 2019-07-26 09:15:13 · 182 阅读 · 0 评论 -
牛客练习赛 49 :B 筱玛爱阅读 (子集DP)
题目描述:筱玛是一个热爱阅读的好筱玛,他最喜欢的事情就是去书店买书啦! 一天,他来到一家有nn本书的书店,筱玛十分快乐,决定把这家店里所有的书全部买下来。 正巧今天店里在搞促销活动,包含若干个促销方案。每个促销方案是由指定的若干本书构成的集合,如果购买了该方案中所有的书,那么其中最便宜的一本书将免费。但是,每本书只能用于一个促销方案。 作为店里的VIP,筱玛会得到nn个价格标签...原创 2019-07-06 00:20:57 · 257 阅读 · 0 评论 -
Minieye杯:I-Tree(二分+贪心)
题目大意:给一棵N个结点的树,将它分成K个连通块,设ki为每个连通块的权值和,令gi为所有ki中的最小值,求gi的最大值。思路历程就不讲了,写了一个优先级队列去贪心,wa了9发才去找反例推出自己的贪心是错解显然分成的连通块越少,每个连通块的权值越大,那么其中权值和最小的块的权值也越大(有点绕,好好读一读),这意味着答案具有单调性,虽然题目说K是固定的,我们可以二分判断是否满足要求具体做法:二...原创 2019-04-17 21:39:02 · 236 阅读 · 0 评论 -
codeforce 1152 (round 554) DIV2:D. Neko and Aki's Prank (思维 + dp + 贪心)
题意:有n对括号,把这n对括号所有合法的匹配画在字典树上,字典树的每一个结点都是合法的括号匹配(即任意一个前缀左括号数量大于等于右括号),问这棵字典树上不相交边集的最大数量是多少?解法:明白题意和字典树概念后,似乎可以用树形dp搞,建树是不可能建的,一看模数1e9 + 7,那么只能凭空想象然后在虚树上进行dp了,手画了一下第三个样例的字典树,有21个结点,贪心的从叶子结点开始选连接到它的边,一层...原创 2019-04-26 19:24:58 · 284 阅读 · 0 评论 -
1157 Round 555 DIV3 :E. Minimum Array(贪心 + 并查集优化 | multiset)
题目大意:有两个序列a,b,a序列和b序列的每个元素 , (ai + bi) % n 的值可以构成ci,题目希望通过调整b序列的顺序,来使得C序列字典序最小。解法:先扫一遍b序列,可以得到数值的个数,对于ai的每个元素,从左往右起,若数值:(n - a[i]) % n 的个数还有剩,则bi这个位置换成这个数值,否则,贪心的往上找,找(n - a[i] + 1) % n 是否存在,有就放,没有就...原创 2019-04-27 20:34:13 · 142 阅读 · 0 评论 -
Codeforces Round #551 (Div. 2) :D Serval and Rooted Tree(贪心 + 树形dp)
题目大意:给出一棵树,1号结点为根节点,设该树有k个叶子结点,叶子结点的值可以任意赋值,但必须用[1,k]范围内的数,且每个数只能用一次,除此之外每个结点还有一个权值,权值1代表该结点的值为儿子结点中权值最大的一个值,权值0表示该点的值为儿子结点中最小的值。现在问根节点的最大值是多少?解法:问题可以转变为,至少要设置多少个叶子结点的值才能使得根节点有值?(看到这句话是否恍然大悟?)若放x个叶子结...原创 2019-05-02 20:44:45 · 148 阅读 · 0 评论