P1233: [Usaco2009Open]干草堆tower
这道题,首先想到的就两个,一是贪心,二是动规,然而 1<=N<=100000;1<=w_i<=10000 的数据范围实在不敢恭维,所以说第一想法是错的。仔细一想,首先,我们需要的是前一层的宽度大于等于下一层,高度(厚度)都是1,而宽度就是连续几个稻草块的宽度和,所以我们想到的方法就是 分段 使每一段稻草块的宽度和递减,并且使段数最多,而要使段数最多,则第一段就要越少(设总宽度 W , Wi>=Wj ,因此最少 W/W1 段),最后得出的段数就是高度了,那么这道题应该就化解了。
(转载请注明出处:http://www.cnblogs.com/Kalenda/)