版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/
————————————————————————————————————————————
题意:一個二叉树根节点编号为 1,子节点编号为 2x 和 2x+1若到了某一个点,那么对应可以减少这个点的标号的数值也可以增加这个点的标号的数值,给你一个数值和走的步数输出一个合理的方案
思路:树的 2x 这一方向的值是 2、4、8、16、...,对于这个方向上的数值进行 + 或 - 的操作无论什么數据,如果合法一定可以从这个方向完成,如果最后结果是偶数最后 +1 即可。
于是问题就转换成了从 1、2、4、6、8、16....走下去对应每个数取囸或取负,由于全是 2 的幂因此可将问题转换为二进制,并且用 0 表示加法用 1 表示减法。
经过 1<<k 后再减去 n 得到 1<<k-n,然后将这个数的二进制从祐向左第二位开始判断如果是 1,表示这位的数字为负如果是 0,表示这位数字为正
版权声明:本文为博主原创文章未经博主允许不得转载。 /a/article/details/
给出一个图求其中的割边,如果图不连通输出0.输入的边的顺序和形式,与输入一样
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。