题目大意
你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少
两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同
n≤100000,答案模23333333,时限2.333s
分析
这道题一看是一道多重背包,但是范围有点大啊。。。
可以尝试利用一下题目的条件,对于i≤n√,就做一次多重背包。合并一种物品时,通过前缀和可以优化到O(n)。
对于i>n
本篇博客探讨了一道有限背包问题,要求在大小为n的背包中放入n种物品,每种物品大小为i且有i个。文章分析了如何利用多重背包和完全背包策略,并结合题目条件提出了一种O(nn√)时间复杂度的解决方案,通过前缀和优化和特定的转移方程来计算方案数,以应对n≤100000的范围限制和答案模23333333的要求。
你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少
两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同
n≤100000,答案模23333333,时限2.333s
这道题一看是一道多重背包,但是范围有点大啊。。。
可以尝试利用一下题目的条件,对于i≤n√,就做一次多重背包。合并一种物品时,通过前缀和可以优化到O(n)。
对于i>n

被折叠的 条评论
为什么被折叠?