本题为2024年9月11日-华为国内机考原题
华为机考的介绍点击这里
圣诞节到了,小塔的妈妈准备了很多圣诞礼盒,礼盒大小不同,小塔在玩堆盒子的游戏,妈妈问小塔,怎么堆盒子使得堆出的高度最高,每个礼盒的大小由长、宽、高表示,堆盒子的时候要求下面的盒子长、宽、高都必须大于上面的盒子,不包含等于。请你帮助小塔一起堆出最高的一堆礼盒,高度为堆出的礼盒的所有高度的总和。
将所有盒子按照长、宽、高的三个优先级进行从小到大的排序,那么后面的盒子一定不可能放在前面盒子的上面。所以我们排序之后,选择的顺序就已经是定死的从左往右选择了。那么可以使用动态规划进行求解。
定义dp[i]表示放上第i个盒子所能达到的最大高度,则有
答案为maxdp[i],1≤i≤n