思路:
給出一堆數字字串,問怎樣組合可以得到最小值。仔細觀察可以發現只要按字典序排序,好像可以大致滿足要求,但是字典序排序是有缺陷的比如32和321字典排序的結果為32321,而實際上32132是最小的,因此我們得出了貪心策略。
策略:
將字串a和字串b相加,比較a+b和b+a,返回值更小的那乙個
注意:
當字串全為0時,輸出0
#include
#include
using
namespace
std;
bool cmp(string a,string b) //返回數字串拼接更小的乙個
int main()
貪心演算法初步
二 區間貪心 求解最優化問題的方法,總是考慮區域性最優 較優 的策略,使得全域性結果達到最優 較優 想要獲得最優解往往需要對才用的策略進行證明,一般採用反證或者是數學歸納法 在考試過程中,如果沒有時間想到嚴謹的證明,如果在想到某個可行的策略且短時間內沒有想出反例推翻它,則勇敢實現即可。月餅是中國人在...
演算法初步 貪心 基本貪心問題詳解
1 區間不相交問題 描述 給出n個開區間 x,y 從中選擇盡可能多的開區間,使得這些開區間兩兩沒有交集。如給出區間 1,3 2,4 3,5 6,7 貪心策略 很容易想到,如果我們想讓n個區間中的子區間越多越好,那麼肯定子區間的長度越短越好,這樣才能有更大的剩餘空間留給其它空間,如果乙個區間就佔了 1...
演算法筆記之貪心初步
題目描述 某市計程車計價規則如下 起步4公里10元,即使你的行程沒超過4公里 接下來的4公里,每公里2元 之後每公里2.4元。行程的最後一段即使不到1公里,也當作1公里計費。乙個乘客可以根據行程公里數合理安排坐車方式來使自己的打車費最小。例如,整個行程為16公里,乘客應該將行程分成長度相同的兩部分,...