贪心算法
性质:
- 没有固定形式
- 选择当前情况的最优解,再求出总解。
- 只对有些问题(局部策略能导致全局最优解)有效
- 关键是贪心策略的选择
思路:
总结:就是把问题描述成数学模型,再用while循环分解成多个子问题,利用可行方法求出子问题的最优解,最后通过最优解推断出最终解。
例子:
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出N个(1≤N≤1000000)苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知N个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入
输入包括两行数据。第一行包含N+1个数,第一个为N,第2个到第N+1个为N个100到200之间(包括100和200)的整数(以厘米为单位)分别表示N个苹果到地面的高度