2.2 貪心法
例題練習題(page135)
按照貪心的思想證明充分性:
綜上,因為無公共子區間的備選區間各自處於不同分組且各自所在分組都發展完全無法繼續擴充,所以按照這個貪心策略得到的劃分是正確的。
poj 3190:stall reservations(tle)
一開始沒有想到優先佇列(其實是根本不知道),用了很笨的辦法最終tle,但自信答案沒問題
1 #include 2 #include 3 #include 4view code5using
namespace
std;67
const
int maxn = 50010;8
9struct
schedual10;
1314
bool
cmp2(schedual a, schedual b)
1520
21bool
c***(schedual a, schedual b)
2225
26int
main()
2740
41//
solve:選擇可放入同一stall的cow中最早結束任務的
42 sort(sched+1, sched+n+1
, cmp2);
4344
int s=0; //
stallnum數
45int l; //
stall end time
46for(int j=1; j<=n; j++)
47//
隊首迴圈
48 61}
62}6364
//輸出
65 sort(sched+1, sched+1+n, c***);
6667 cout
68for(int i=1; i<=n; i++)
69 cout
70 }
挑戰程式設計競賽學習筆記1
const定義的變數值在程式執行過程中不允許發生改變 printf根據格式符輸出對應型別 putchar只能輸出字元 puts可以輸出字串 設計高效且正確的演算法 正確地實現 並且,為了設計演算法,靈活的想象力 演算法的基礎知識 也是必不可少的。程式設計競賽就是以程式設計為主題舉辦的競賽。n個紙片,...
挑戰程式設計競賽學習筆記2
書中只給出演算法函式,程式所用資料預設已讀入程式並儲存在全域性變數中。以高效演算法為目標,需要正確估算各種演算法的複雜度。縮短執行時間,主要應該從複雜度入手。程式都從標準輸入按指定格式讀入資料 輸入資料已經由main函式讀入並儲存在全域性變數中 通過呼叫solve函式來求解 在設計滿足問題要求的演算...
挑戰程式設計競賽學習筆記4
想象力很重要,要從複雜中看出本質。暴搜雖然幾乎萬能,但是越複雜時間越長,能不用就不用。n只螞蟻,均以1cm s的速度,在長為lcm的桿子上爬行。爬到端點掉落,相遇時掉頭爬,已知每只螞蟻據竿子左端的距離xi,朝向未知。求所有螞蟻落下桿子所需的最短時間和最長時間。1 l 1e6 1 n 1e6 0 x ...