2015-ICPC-ShangHai-B-hdu5573-构造+二进制
题意给你一个二叉树,根节点为1,从根节点开始依次向下走k层,问如何走使得将路径上的数进行加减最终结果得到n。题解首先我们要知道1、2、4…2^k可以构造出所有小于2^(k+1)的数,那么实际上只要走2的幂次即最左边的结点即可。 根据题意,树的最左边最下一层数为2^(k-1),所以当我们走最左一层时,我们能得到小于2^k的所有数。
由数据范围N<=2^k,可知,我们只需要用二叉树的最左边一列k个(即
原创
2017-03-27 17:24:03 ·
493 阅读 ·
0 评论