摘要: Kruskal 重构树板子。 考虑建边权从大到小排序后跑 Kruskal 的重构树,对于当前点 uuu 和参数 www,只能走 ≥w\geq w≥w 边,即能去的点是 uuu 祖先中最浅的点权 ≥w\geq w≥w 的点所在子树内每个叶子节点。 发现边权修改后,相对大小不变,直接在重构树点权修改即可 阅读全文
posted @ 2023-09-17 18:04 HappyBobb 阅读(22) 评论(0) 推荐(0)
摘要: 典中典。 一个点集 SSS 的 LCA 是这些点中 DFS 序最小和最大的两点的 LCA。 所以必然只会删掉最大的或最小的。 线段树或 ST 表维护一下最大和次大,最小和次小就做完了。复杂度 O(nlog⁡n)O(n \log n)O(nlogn)。 阅读全文
posted @ 2023-09-17 12:56 HappyBobb 阅读(6) 评论(0) 推荐(0)
摘要: 感觉别人写的太复杂了。 用 set,维护当前在队列中的人。每次操作,如果有人,直接累加答案。 然后考虑怎么在 ti+sit_i+s_iti​+si​ 时间回来。只需要离线在 ttt 里面跑一个 lower_bound 即可。 #include <bits/stdc++.h> using namesp 阅读全文
posted @ 2023-09-17 12:53 HappyBobb 阅读(18) 评论(0) 推荐(0)