题目链接:
题意:有n个物体(n<30)和一个容量为W的容器。问将容器不装满的放置物品的方式有多少种。
思路 : 状态压缩+二分。将前n/2个物体看做一个总体,将剩下的看做一个总体。1<<(n/2)个状态代表前一半的物品使用情况,然后求出每一种状态的总的体积。排序。对于后面的那一半也是。答案仅仅需枚举一半然后在还有一半中找和W差的下界就可以。
代码:
#include #include #include #include #include #include #include #include #include #include #include #include #include #include