关于背包二进制分解

因为任何数都可以用二进制表示,在你的价值里面..然后最后一堆可以放一起的原因是前面可以表示任何数了,最后一堆无非就是填充最后一个1.举个栗子.假设我有个数10101010,很显然的一个结论10000000>1000000+100000+10000+1000+100+1.然后我主位的那个1肯定是可以分解成这么多个1的,因此一个很显然的结论,因为有这些1,小于主位的位数的任何数都可可以表示的,下面就是证明等于主位的1也是可以表示的.这个证明也挺显然的,因为我们已经把下面那些位数的1都提取出来了,所以我们哪位需要缺少一个1,那就是少用那位的1,比如说10101010,我要缺少10,那么很简单,我只要不选10即可.同理因为1000000+100000+10000+1000+100+1,这些数可以构成小于主位的任何数,我要缺少多少,就是拿这些数缺少多少就行了.

lpt的小屋 文章被收录于专栏

我想要一份甜甜的爱情

全部评论

相关推荐

03-11 23:33
已编辑
曲阜师范大学 后端工程师
牛客68808588...:果真开发过12306购票系统吗,这不是一眼就被看穿了
点赞 评论 收藏
分享
03-19 09:58
河海大学 Java
最喜欢春天的奇亚籽很...:同学,是小红书不是小哄书,一眼就能看到的错误
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务