Day 62 贪心专项
F 还没来得及看,不想看了。
A
显然你可以用一个堆直接贪心,将每组牛按照
复杂度
B
第一问是容易的,每次用一个优先队列贪心删去度数最小的点(重复,直到最小度数变大),然后更新答案。
第二问不难想到也用优先队列贪心做一个近似算法,每次删去度数最大的点重复直到所有点度数是零。
C
首先有一个 naive 的贪心
将
在
但是可以发现有如下情况:
/ \
x x
/
x+1
可以变成
/ \
x x+1
/
x
这样就没了
那考虑贪心,将
然后按
然后填了就相当于区间减。
详细地说,我们线段树维护区间最小值再二分找到第一个合法的
当开始填
D
不难发现有且仅有
也即这类点一方面可以作为根,一方面可以决定其与子树的输出关系
所以可以先钦定
求子树内可以第一个输出的数字的编号最小值。
然后根据这个值分类讨论构造即可。
E
可以发现
- 让
干掉它,代价是 。 - 让另一类球干掉它
- 自己转移掉球到无穷
可以看出第三类决策显然是最劣的,而如果需要使用第二个决策那必然只会用一类球干掉所有的非法球。
所以可以枚举这个特殊球,其需要有
至于有威胁的机器人怎么求,其实是
G
考虑到本质上就是让最终所有点的入度出度都是
那么每个点首先优先保留最大的入度点,其余断掉,然后合理分配成环,就可以做到若干环,出入度都是
然后考虑合并环,找连向同一个点的原环边和非环边进行切开连起来就行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!