2025/10/29 总结

2024 ICPC Kunming

Fountain (Day1)

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 斜二倍增

思路

我们先可以把这 \(n\) 个盘子变成一个 \(n+1\) 个点、\(n\) 跳边的树。我们将每个盘子与下面第一个大小严格大于该盘子的盘子相连(如果没有则和 \(n+1\) 相连),所以我们将 \(n+1\) 视为根然后斜二倍增往根跳即可。

树上旅行

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 斜二倍增

思路

我们发现每个点往下跳的位置是一定的,所以我们从上至下,从下至上做两边斜二倍增,然后转移即可。

紧急集合 / 聚会

情况

  • 时间:\(45min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 斜二倍增

思路

我们思考几种情况,答案其实是 \(dis_x+dis_y+dis_z-dis_a-dis_b-dis_c\)(其中 \(a=\text{LCA}(x,y),b=\text{LCA}(x,z),c=\text{LCA}(y,z)\)),所以直接斜二倍增即可,节点画图思考一下也可以为 \(x\oplus y\oplus z\)

求和

情况

  • 时间:\(45min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 斜二倍增

思路

我们可以预处理出每个 \(k\) 吗,每个位置 \(x\) 到根的和的结果,设第 \(x\) 个点 \(k\) 的结果为 \(sm_{k,x}\),所以斜二倍增后答案为 \(sm_{k,x}+sm_{k,y}-sm_{k,\text{LCA}(x,y)}-sm_{k,fa_{\text{LCA}(x,y)}}\) 即可。

posted @ 2025-10-29 15:33  小熊涛涛  阅读(2)  评论(0)    收藏  举报