BARAZAN D PLUS是什么

题意:通过上述四种操作可以哆少步使得A==B并输出路径

训练的时候用暴力程序套结论,发现最后相同时的AB一定是2的幂次,那么只需要将两个数凑成10000…000的形式即可即是消去低位的1的过程,可以让两个数的lowbit变成同一位然后相加消去lowbit,再以此类推代码化的时候,可以直接在尾部添至相同个数的0如110100和1001000,鈳以前者添加3个0后者添加两个0使得双方变成 ,这样各自的lowbit就都在低6位这时候两数相加就消掉了一个1,往前进位直至只剩一个1 。 过程發现我们不需要保留后面的0所以直接去掉各自的0来比较即可。这里就相当于一个逆操作消掉各自的0的前提就是凑到个数相同的0,而这個时候就相当于让对方加上自己0的个数详见代码,每次处理完还要判断一次大小关系注意是给大的左移,因为这样又可以消去0了

我要回帖

更多关于 9D 的文章

 

随机推荐