我来补充一下上边这位大佬的发言。拿第一个测试点为例,如果i从1开始,那么就不会存在某个点与4差一位,即没有边到达4。而若想与4连边,即与4差一位,只能是0,所以0一定要存在。这个时候大家可能还有一个疑问,如果某个点想到达点2^n,经过0的中转,会不会导致这个点到点2^n的距离变大呢?这个是不会的。设某个点为u,标号为2^n的点标号为v,那么u+v=u⨁0 + 0⨁v。为什么这个结论一定会成立呢?已知若两个数按照二进制排列,若每一位上的数都满足一个是1一个是0或者都为0,那么u⨁v=u+v一定成立,例如(10011)⨁(01000)=(11011)换算成十进制为27,而19+8=27。综上,如果n为2的幂次,那么如果不添加0为中转点,就会导致n点无法到达。如果添加了0作为中转点,那么每一个到达0的点,都可以到达n点,且经过中转的距离与直接到达n的距离相等。
1

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客企业服务