《挑戰程式設計競賽》學習筆記 (1)

2022-08-20 10:00:13 字數 1022 閱讀 6120

2.2 貪心法

例題練習題(page135)

按照貪心的思想證明充分性:

綜上,因為無公共子區間的備選區間各自處於不同分組且各自所在分組都發展完全無法繼續擴充,所以按照這個貪心策略得到的劃分是正確的。

poj 3190:stall reservations(tle)

一開始沒有想到優先佇列(其實是根本不知道),用了很笨的辦法最終tle,但自信答案沒問題

1 #include 2 #include 3 #include 4

5using

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 }

view code

挑戰程式設計競賽學習筆記1

const定義的變數值在程式執行過程中不允許發生改變 printf根據格式符輸出對應型別 putchar只能輸出字元 puts可以輸出字串 設計高效且正確的演算法 正確地實現 並且,為了設計演算法,靈活的想象力 演算法的基礎知識 也是必不可少的。程式設計競賽就是以程式設計為主題舉辦的競賽。n個紙片,...

挑戰程式設計競賽學習筆記2

書中只給出演算法函式,程式所用資料預設已讀入程式並儲存在全域性變數中。以高效演算法為目標,需要正確估算各種演算法的複雜度。縮短執行時間,主要應該從複雜度入手。程式都從標準輸入按指定格式讀入資料 輸入資料已經由main函式讀入並儲存在全域性變數中 通過呼叫solve函式來求解 在設計滿足問題要求的演算...

挑戰程式設計競賽學習筆記4

想象力很重要,要從複雜中看出本質。暴搜雖然幾乎萬能,但是越複雜時間越長,能不用就不用。n只螞蟻,均以1cm s的速度,在長為lcm的桿子上爬行。爬到端點掉落,相遇時掉頭爬,已知每只螞蟻據竿子左端的距離xi,朝向未知。求所有螞蟻落下桿子所需的最短時間和最長時間。1 l 1e6 1 n 1e6 0 x ...