LCA题目总结

好像LCA的题目并不多,现在就做了10道左右,但是找不到别的了,在此做个小总结,将来有更好的题目会不断更新

解决LCA问题,一般用3种方法

1.朴素方法:两个点都一直沿路径往上走,直到有某一个节点被经过两次并且是第一次出现这样的点,那么这个就是LCA

此方法最好理解,但是用得不多,但不代表没作用,有些题目还是需要用到的

2.LCA转RMQ(在线算法):一般是将LCA转为RMQ问题,用ST算法求解,当然求解RMQ问题有很多方法,不过ST比较常用而已,这样做能及时回答每一个询问

3.Tarjan算法(离线算法):利用Tarjan算法,不过要先读入所有询问再一并回答,建议认真学习Tarjan算法本质

1.hdu 2586 How far away ?

2.poj 1986 Distance Queries

3.hdu 2874 Connections between cities

需要判断是否同在一个集合中

4.hdu 3078 Network

修改点权值

5.poj 2763 Housewife Wind

修改边权值,树状数组优化

6.poj 3694 Network

先用并查集缩点

7.poj 3728 The merchant

并查集应用

8.hdu 3830 Checkers   (未完成)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值