2025/10/18 总结

王国选拔赛

情况

  • 时间:\(1h\)
  • 预期:\(100\)
  • 实际:\(100\)

知识点

  • 二分

思路

直接二分答案,看最多有多少对大于 \(1\) 号即可。

移除礼物盒

情况

  • 时间:\(1.5h\)
  • 预期:\(20\)
  • 实际:\(20\)

知识点

  • \(\text{STL}\)

思路

我们发现第一张和第二张的贡献只与他们间隔的长度有关,所以直接用 \(\text{STL}\) 存长度即可。

移除礼物盒

情况

  • 时间:\(1h\)
  • 预期:\(48\)
  • 实际:\(48\)

知识点

  • \(\text{LCA}\),树形 \(\text{dp}\)

思路

假设答案的路径的两个端点为 \(x,y\),考虑将问题转化为两个情况:

  1. \(x\)\(y\) 的祖先,这种情况可以直接遍历一遍求出答案。
  2. \(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\)

posted @ 2025-10-18 19:36  小熊涛涛  阅读(5)  评论(0)    收藏  举报