Description
小A想搭一个体积不超过m的塔,他有各种大小的立方积木,比如边长为a的积木,体积为a^3,现在小A需要你给一个X,每次小A会用一个体积不超过X的最大积木,依次到搭好为止,现在他想最大化积木的个数,同时在积木个数最大的情况下使X最大。
X为你用的积木体积的和
Solution
显然,设a为最大的a3≤m
那么第一次要么选a,要么选a−1,可以证明,选a-2一定没有a-1优
那么剩下的体积设为m2
选a,那么剩下m−a3
选a-1,那么原本最多有a3−1,最多剩下a3−1−(a−1)3
选a-2,那么最多剩下(a−1)3−1−(a−2)3,明显没有选a-1优
递归处理即可
Code
因为是口胡,所以没有代码!