暴力跳父亲就过了。具体地,跳一次父亲相当于除以 222 下取整,每次删掉末尾的一位即可。
所以有个更好看的性质:两个点的 lca\text lcalca 其实是这两个点二进制表示的最长公共前缀。所以答案是 ∣x∣+∣y∣−2∣lcp(x,y)∣|x|+|y|-2|lcp(x,y)|∣x∣+∣y∣−2∣lcp(x,y)∣。
CZOJ 계정으로 가입하면 CZOJ로 제공되는 모든 OJ를 이용하고 참여하실 수 있습니다.
CZOJ 공용 계정을 사용