2024.3.24 课件预习

Kruskal重构树练习。

1.水灾

这题好像和普通重构树不太一样。

我们要的是x所有简单路径的最小值的最大值(稍微想一想,我们只要每条路径断掉一条边就好了)。

那就是建一棵重构树(从大到小连边)。

然后对于每一个询问找出所有点对的LCA的最大值。

2.Qpwoeirut and Vertices

这题一眼重构树(主要是学的是重构树。。。)。

我们要求的是  连接边[1, k],使得点 [li, ri] 能全部联通的最小的k。

所以就是求所有简单路径的最大值的最小值(稍微再想一想,我们要的是某条路径所有边联通就好了)。

那就建一棵重构树(从小到大v连边)。

但是怎么在重构树上快速某一段区间最大的LCA呢?(不会啦)。

3.Graph and Queries

可以将所有询问离线下来。

然后从后往前做,每次变成加边。

但是对于操作一,我们必须从前往后做,怎么办呢?

先对于最后一次的操作建一个重构树。

然后按从后往前的加边顺序来加边。

每次加完遍后,记下询问的v的最高的祖先。

之后在从前往后做一边,线段树维护下最大值,单点修改。(总的来看感觉其实不是很会写。。。)

4.归程

先预处理出每个点到1的距离。

再搞一个重构树,然后在重构树上找到对应v的连通块的祖先中距离1最小的那个点。

5.Life is a Game

第一眼BFS。(TLE是必然的)。

之后听完课后来补充下吧。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值