2 solutions
-
2
首先按照路段结束的位置从小到大排序 这样能保证每个路段都被充分利用 要保证所种的树尽可能地少则要尽量让更多 的树种植到公共区域上,这样就能够一箭多雕 以更少的树满足更多的人的需求,但是我们还需要一个数组,来标记每个区域是否被种上了树,如果该区域被种上了,就不需要再重复的去种植了
这道题必须要能够考虑到公共区域尽可能多的种植树的思想,然后围绕这个想法去展开,因为公共的区域只可能是当前路段的结束位置和上一个路段开始的位置之间的交集,那么从每个路段的结束位置开始种植,就可以尽可能地优先利用到公共区域, 但是一定要标记在哪些路段种植的树木以便下一个路段进行遍历,如果公共区域种植的树木已经足够下一个路段则不再种植下一个路段所需要的树木,如果不够则下一个路段也从后往前便利保证优先利用公共区域直到满足该路段的要求为止。 这就是贪心算法的原理,由子问题的最优解得到最终问题的最优解
Information
- ID
- 112
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- # Submissions
- 211
- Accepted
- 46
- Uploaded By