【序言】
说到最近公共祖先,应该是树论中一个比较重要的话题吧。一般来说,在遇到求最近公共祖先的时候,会有三种常见的做法:对于简单的模拟题——直接模拟就好了;对于大题目中的求最近公共祖先的小桥段——用tarjan来求,因为好打不容易错;对于特意考察最近公共祖先,并且数据范围比较大的时候——用倍增算法,省空间还是硬道理。至于还有的通过变形将最近公共祖先问题化为区域最小值问题来做,性价比并不高,如果你硬是想知道,可以百度一下:“LCA问题转RMQ问题的ST算法”。
【什么是最近公共祖先?
【序言】
说到最近公共祖先,应该是树论中一个比较重要的话题吧。一般来说,在遇到求最近公共祖先的时候,会有三种常见的做法:对于简单的模拟题——直接模拟就好了;对于大题目中的求最近公共祖先的小桥段——用tarjan来求,因为好打不容易错;对于特意考察最近公共祖先,并且数据范围比较大的时候——用倍增算法,省空间还是硬道理。至于还有的通过变形将最近公共祖先问题化为区域最小值问题来做,性价比并不高,如果你硬是想知道,可以百度一下:“LCA问题转RMQ问题的ST算法”。
【什么是最近公共祖先?
评论记录:
回复评论: