首先这道题目先要理解题目的意思. 用一些方块堆塔,给出的每种方块个数是无限的,只有满足长宽都小于下面一个方块的方块才能摆上去. 首先这道题需要一个转化. 每个方块有3个不同的面,每个面长宽交换,一共每个方块最多有6种情况. X Y Z 1 2 3 2 1 3 3 1 2 1 3 2 2 3 1 3 2 1 如果长宽高有相同的部分还可以减少一些情况 然后对面积,长,宽,从小到大排序. 这步做完dp的准备才算完成. 下面分析dp部分. 如果不用dp,用贪心先试试,先把最大的面积放在下面,然后循环面积…