我所认为的贪心算法并不是一个固定的程式,而是一种贪心思想,一种算法思想。虽然贪心算法是做出局部最优解来取得全局最优解,但是我认为要解决好一个问题首先要用全局的眼光看待和分析问题。就比如 Problem F 1005 花最多数量的纸币 这个问题:要算出最少花多少纸币比较容易,但是如果直接正向的去求最多能花多少纸币则相当麻烦,但是如果反过来想,求最多花多少纸币就相当于最少剩多少纸币,这与前一相对简单的问题几乎一致,先去求它,就能将一个复杂的问题转化成了一个相对简单的问题。先用全局的眼光去看,只有这样才能清楚该怎么做最好,该怎么办,该怎么将大问题化解成小问题,也才知道该怎么在局部用贪心算法去解决整体的问题。
除了先用全局的眼光去看以外,还要学会用从数学的角度分析、解决问题。如:Problem D 1003 哈夫曼编码 这个问题,虽然算法上都是用哈夫曼树去解决问题,但是如果从数学的角度仔细分析、观察,会发现其中的数学规律,而如果用这个规律去解决哈夫曼编码问题,问题将会迎刃而解,变得相当简单。
贪心算法总结所谓贪心算法,就是在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。我所认为的贪心算法并不是一个固定的程式,而是一种贪心思想,一种算法思想。虽然贪心算法是做出局部最优解来取得全局最优解,但是我认为要解决好一个问题首先要用全局的眼光看待和分析问题。就比如Problem F 1005 花最