这题目的解法果然是很难想到
有一个突破点就是
任何一个状态,通过题目所给的移动,都能对应且唯一对应一个b*2=a+c(a<b<c)的状态,这是突破点
所以以这个为根
如果不是根的状态,可以让左右两个往里跳,依据是让和中间那个坐标距离缩小
这样就可以看作为是向根移动
具体的操作用的是辗转相除法的思想
接着找初始状态和目标状态的LCA,用的是二分距离。
简略到这吧
本文介绍了解决特定数学问题的一种新颖方法。关键思路在于发现任意状态可通过题目给定的操作唯一对应到b*2=a+c的形式,并以此作为解题的突破点。文章进一步阐述了如何使用类似辗转相除法的思想来操作状态,以及如何通过二分距离找到初始状态与目标状态间的最低公共祖先(LCA)。
这题目的解法果然是很难想到
有一个突破点就是
任何一个状态,通过题目所给的移动,都能对应且唯一对应一个b*2=a+c(a<b<c)的状态,这是突破点
所以以这个为根
如果不是根的状态,可以让左右两个往里跳,依据是让和中间那个坐标距离缩小
这样就可以看作为是向根移动
具体的操作用的是辗转相除法的思想
接着找初始状态和目标状态的LCA,用的是二分距离。
简略到这吧
379
2200

被折叠的 条评论
为什么被折叠?