2025/10/18 总结
王国选拔赛
情况
- 时间:\(1h\)
- 预期:\(100\)
- 实际:\(100\)
知识点
- 二分
思路
直接二分答案,看最多有多少对大于 \(1\) 号即可。
移除礼物盒
情况
- 时间:\(1.5h\)
- 预期:\(20\)
- 实际:\(20\)
知识点
- \(\text{STL}\)
思路
我们发现第一张和第二张的贡献只与他们间隔的长度有关,所以直接用 \(\text{STL}\) 存长度即可。
移除礼物盒
情况
- 时间:\(1h\)
- 预期:\(48\)
- 实际:\(48\)
知识点
- \(\text{LCA}\),树形 \(\text{dp}\)
思路
假设答案的路径的两个端点为 \(x,y\),考虑将问题转化为两个情况:
- \(x\) 是 \(y\) 的祖先,这种情况可以直接遍历一遍求出答案。
- \(x\) 不是 \(y\) 的祖先,这里可以很容易发现,他们答案一定为 \(0\)。
第一种情况,对于每个点 \(x\),我们维护 \(mx0_x,mx1_x\) 代表从 \(x\) 点往上长度最长的边的长度和次长的边的长度。对于 \(x_i,y_i\),我们可以用他们到 \(\text{LCA}\) 的距离来更新 \(mx_x,mx_y\)。所以预处理完后从根节点开始遍历,对于 \(u\) 的儿子 \(v\),显然有 \(mx0_y-1\) 和 \(mx1_v\) 可以更新 \(mx_u\)。

浙公网安备 33010602011771号