暴力跳父亲就过了。具体地,跳一次父亲相当于除以 222 下取整,每次删掉末尾的一位即可。
所以有个更好看的性质:两个点的 lca\text lcalca 其实是这两个点二进制表示的最长公共前缀。所以答案是 ∣x∣+∣y∣−2∣lcp(x,y)∣|x|+|y|-2|lcp(x,y)|∣x∣+∣y∣−2∣lcp(x,y)∣。
注册一个 CZOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 CZOJ 通用账户