题意:给你一个01背包方案的问题,给出背包上限w,模数p,最终方案k,构造出一种合法的物品序列,保证n<=40。
构造大法好,第一次构造。。。
比较简单也比较好处理的一种方法是一堆1和几个大物品。。
于是先预处理出f[x][j]表示现在有x个1,能到达j方案数用的最少物品个数。
那么我们枚举x,假设当前用了i个1,即大物品的和距离w还差i,那么增加的方案数就是 C
题意:给你一个01背包方案的问题,给出背包上限w,模数p,最终方案k,构造出一种合法的物品序列,保证n<=40。
构造大法好,第一次构造。。。
比较简单也比较好处理的一种方法是一堆1和几个大物品。。
于是先预处理出f[x][j]表示现在有x个1,能到达j方案数用的最少物品个数。
那么我们枚举x,假设当前用了i个1,即大物品的和距离w还差i,那么增加的方案数就是 C