[SP1839]The Bookcase
The Bookcase
题解
蛮简单的一道题
看到这道题应该很容易想到数位dp。但如果直接把高度,厚度全加到维度上去明显会MLE。
我们定义为前
本书放到书架上第1行厚度为
,第二行厚度为
时的每行最大高度之和,第三行的厚度可以通过前缀和算出来。
由于不知道每行书的高度,我们可以先将所有的书根据高度排序,这样保证加进去时一行如果有书就一定不会增加高度,这样如果一行厚度为0就没书。
这样,很容易就可以得到状态转移方程式了,这里不列出。
时间复杂度。
注意,三行都必须有书。
源码
#include<cstdio>
#include<cmath