CSP-S2019 树上的数(并查集,dfs)
字典序最小果断贪,考虑卡片位置变化对限制带来的变化的本质。
首先压缩“删边顺序”。
一条边删了以后两边的相对顺序就不重要了。所以只在乎 dsu 序,也就是对于每个点来说 相连的边的删除顺序。
每个卡片的位置变化都是一条至少有一条边的路径。考虑这条路径对 dsu 序带来的变化是怎么样的:
-
对于起点,起边是起点删的第一条边。
-
对于终点,终边是终点删的最后一条边。
-
对于路径上相邻两条边
,共享端点 , 的删边顺序中 在 之后且删除顺序相邻。
因此每个点 mi[u]
末删边 mx[u]
和若干个连续区间(可以用并查集维护,根是区间左端点,维护深度信息表示到左端点距离,维护区间大小)。
枚举卡片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】