贪心算法( 又称贪婪算法)是指,在问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。因此,它并不适用于所有的求整体最优解。
它的作用主要在于策略的选择,所以我更认为这只属于一种思路,而非算法。
1.基本思路
贪心算法通常按照这样的思路、步骤:
③对每个子问题求解,得到子问题的局部最优解 。
④把子问题的解局部最优解合成原来解问题的一个解 。
2.通用模板
#inclue<bits/stdc++.h> using namespace std; int main() { return 0; }
你没看错,这就是模板!它的题目变化多端,程序也没有固定模板,需要长时间练习才可找到窍门。
现在,让我们开始学习贪心算法吧!