貪心演算法例2

2021-10-05 11:21:01 字數 546 閱讀 3602

給定長度為n的字串s,要構造乙個長度為n的字串t。t是乙個空串,隨後反覆進行下列的任意操作。

1、從s的頭部刪除乙個字元,加到t的尾部

2、從s的尾部刪除乙個字元,加到t的尾部

目標是為了構造字典序盡可能小的字串t。

#include

using

namespace std;

//萬能標頭檔案,搭配使用

const

int max=

1024

;char s[max]

;int n;

void

zdx()if

(s[a+i]

)//首位小於末位 }if

(f)elseif(

(count+1)

%80==0

)putchar

('\n');

}}intmain

(int argc,

char

** ar**)

貪心演算法只能求區域性最優解,可能不是最佳答案

貪心演算法例題

貪心演算法 greedy 分階段地工作,在每乙個階段都可以認為所做的決定是最好的,而不用考慮後果。這就意味著得到的是區域性最優解決方案,當演算法結束時,如果乙個乙個區域性最優解能組成全域性最優解決,那麼就說明這個演算法是正確的 如果不是,則此演算法的到的結果就是乙個次優解。因此,如果使用貪婪演算法得...

貪心演算法例題

牛牛舉辦了一次程式設計比賽,參加比賽的有3 n個選手,每個選手都有乙個水平值a i.現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人.牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值。例如 乙個隊伍三個隊員的水平值分別是3,3,3.那麼隊伍的水平值是3 乙個隊伍三個隊員的水平值分別是3,2...

貪心演算法例4

有1元 5元 10元 50元 100元 500元的硬幣無窮多枚,現在用這些硬幣支付s元,最少需要多少枚硬幣 例 輸入 763輸出 需要500元硬幣1枚 需要100元硬幣2枚 需要50元硬幣1枚 需要10元硬幣1枚 需要1元硬幣3枚 include include intmain int argc,c...