随笔分类 - 基础算法——贪心
摘要:CF1088F Ehab and a weird weight formula 题意 给定一棵树,点有点权,其中这棵树满足除了权值最小的点外,每个点至少有一个点权小于它的相邻点。 要求你重新构建这棵树,使得代价最小。计算代价的方法如下: 点的代价: $deg_xv_x$,其中$deg_x$表示点$x
阅读全文
摘要:题面 "题面" 题解 因为每个学生产生的代价其实只跟自身属性和最后一门成绩的公布时间相关, 所以考虑如果我们固定一个时间t作为最后一场,那么我们就可以快速算出此时的代价了。 首先在t之前的成绩都可以用来和在t后面的成绩多次配对进行第一种操作。 因此我们先贪心的进行第一种操作,能搞几次就搞几次,如果剩
阅读全文
摘要:"题面" 题解: 把题面的限制换成中文: 如果排在第k位的下标 = 排在第j位的值 ,那么k W_{ba}$,即先选$a$更优 那么有: $$W_{ab} W_{ba} = m_1W_b m_2W_a 0$$ $$\frac{W_b}{m_2} \frac{W_a}{m_1}$$ 因此我们只需要以平
阅读全文
摘要:题意: $n$个数,有$m$个操作,形如: 1,将$x_i$改成$val_i$ 2,将$x_i$加上$val_i$ 3,将$x_i$乘上$val_i$ 其中第$i$个操作的编号为$i$. 现在你可以从中选择最多$k$个操作(不能重复选),并按一定顺序执行,使得$\prod_{i = 1}^{
阅读全文
摘要:题意: $n$个物品,每个物品有一个价格,买一个高价格的物品,可以选择免费得到一个价格严格低于这个物品的物品。求得到$n$个物品的最小代价。 题解: 神仙贪心…… 题目要求求出最小代价,相当于求最多能免费拿的价格。 先考虑一个$n^2$的DP:将物品按价格从高到低排序。把相同价格的物品放在一起处理。
阅读全文
摘要:题面:[NOIP2012]疫情控制 题解: 大体思路很好想,但是有个细节很难想QAQ 首先要求最大时间最小,这种一般都是二分,于是我们二分一个时间,得到一个log。 然后发现一个军队,越往上走肯定可以控制的叶节点越多,因此我们在时间范围内尽量向上走,又得到一个log了。 如果一个军队走到根后还有多余
阅读全文
摘要:题面: [NOI2017]蔬菜 题解: 首先每天蔬菜会变质这点并不好处理,我们考虑让时间倒流,从后向前处理,这样的话就相当于每天都会得到一定量的蔬菜。 这样做有什么好处呢? 我们可以发现一个性质:如果从后向前贪心卖菜,那么因为现在可以卖的菜,以后一定还可以卖(因为变成了得到菜),因此贪心就是对的了。
阅读全文
摘要:~~~题面~~~ 题解: 一开始翻网上题解看了好久都没看懂,感觉很多人都讲得不太详细,所以导致一些细节的地方看不懂,所以这里就写详细一点吧,如果有不对的or不懂的可以发评论在下面。 首先有一个比较明显的50分贪心: 先把d排好序,然后按从小到大的顺序贪心的给每个点选值,同等条件下优先编号大的,于是越
阅读全文
摘要:~~~题面~~~ 题解: 首先有一个比较明显的策略,肯定先要把能带给自己受益的先选完,然后再以最佳状态去打那些会给自己带来损失的怪。 对于前一部分(可以带来受益的怪),显然我们需要先从代价小的打起,因为这样可以把生命值越积越多,打代价大的怪也更容易成功。 那么对于后一部分怎么办呢?我们需要从受益大的
阅读全文
摘要:~~~题面~~~ 题解: 观察到以决策点为分界线,以点数大的赢为比较方式的游戏都是它的前缀,反之以点数小的赢为比较方式的都是它的后缀,也就是答案是由两段答案拼凑起来的。 如果不考虑判断胜负的条件的变化,则有一个比较容易发现的贪心: 设f[i]为从1开始到i位, 比较方式为点数大的获胜,最多能赢几局。
阅读全文
摘要:~~~题面~~~ 题解: 神奇的贪心题,,,感觉每次做贪心题都无从下手。。。 我们首先按照a对所有卡片从小到大排序,然后从1开始,从连续的两张牌中取b最大的,最后一张单出来的也取了。 可以证明,这样的方案一定是合法的。 为什么呢? 假设我们将排序后的牌按照(1, 2) (3, 4) ……这样的方式两
阅读全文
摘要:~~~题面~~~ 题解: 这题想法简单,,,写起来真的是失智,找了几个小时的错误结果是inf没开到LL范围。。。。 首先我们需要找到任意两点之间能够携带黄金的上限值,因为是在经过的道路权值中取min,我们要使得这个min值最大,就应该要在最大生成树上寻找正确的边。求出最大生成树后我们需要在上面倍增寻
阅读全文
摘要:~~~题面~~~ 题解: 首先观察题面,直觉上对于一头奶牛,肯定要给它配pi和qi符合条件的草中两者尽量低的草,以节省下好草给高要求的牛。 实际上这是对的,但观察到两者尽量低这个条件并不明确,无法用于判断,因此要考虑一些其他的方法。 首先我们把牛和草都放在一个数组里,然后按照口感给它们排序。这样对于
阅读全文
摘要:~~~题面~~~ 题解: 其实是一个神奇的贪心。如果m > n / 2,那么显然无解,否则肯定有解。如果没有相邻不能取的限制,那么直接贪心取前m大即可,但是有这个限制。所以考虑怎么维护这个性质。 首先有一个结论,如果是贪心的取,对于一个点,要么取它旁边的两个,因为是贪心的取的,如果只取了旁边中的一个
阅读全文
摘要:~~~题面~~~ 题解: 首先我们要使得Miss的次数尽量少,也就是要尽量保证每个点在被访问的时候,这个点已经存在于Cache中。 那么我们可以得到一个结论: 如果Cache已满,那么我们就从Cache里面取出下一个出现位置最远的那个数(如果不出现了那么令下一个出现位置为inf) 所以用堆维护即可。
阅读全文
摘要:~~~题面~~~ 题解: 首先我们需要知道一个性质。 如果所有干旱城市都可以被支援到,那么对于任意水库而言,它可以支援的干旱城市必然是连续的 证明如下: 我们假设一个水库支援到了2个不连续的城市,但中间有个城市支援不到。如上图蓝色线所示,那么由于所有干旱城市都可以被支援到,因此必然有另一个水库可以支
阅读全文
摘要:~~~题面~~~ 题解: 我会说我想这道普及组题都想了好久么。。。。 不熟练的普及组选手.jpg 最后随便猜了一个结论居然是对的。。。 放结论: 假设x = i的最优决策为f[i], 那么f[i + 1]一定包括f[i]. 也就是说f[i+1]一定可以由f[i]推出来。 所以f[i]一定是由f[i+
阅读全文
摘要:不是很懂为什么luogu标签是树形DP,感觉我想的就是一个贪心啊。。。 随机造几组数据,我们发现贪心的确可以得到最优解,那么为什么呢? 假设将所有时态贪心的调整是对的,那么如果一个节点的各个儿子时态不同,那么强行统一,为什么可以假设是对的?因为观察到在一个点的上方+1,对它的子树的相对关系的没有影响
阅读全文

浙公网安备 33010602011771号