PKU 1065 貪心求值

貪心思想:局部最優從而達到整體最優

 

題意:t組測試數據,每組n塊木頭,每塊木頭有相應的length和weight。現在對n塊木頭進行處理,setup time如下定義:

1、處理第一塊木頭setup time爲1

2、如果後來處理木頭的length和weight分別都不小於前一塊的length和weight,則不需要setup time,否則setup time加一

求處理全部木頭的最小setup.

 

分析:

1、首先對木頭進行非降排序,每個木頭的結構爲(l,w),以length爲主元素,weight爲次元素。

        (l1,w1)>(l2,w2)的條件是l1>l2 || (l1==l2 && w1>l2)

2、其次進行貪心選擇。初始計數器c=0, 每次從排序好的木頭前面選擇未使用過的木頭(l,w)做爲當前木頭,然後標記已用,遍歷之後沒有用過的木頭(l1,w1),如果有(l1>=l&&w1>=w)則置(l1,w1)爲已用並且替換當前木頭爲(l1,w1)。每次遍歷之後計數器c加1,如果c等於總木頭數退出,否則跳到步驟2.

 

代碼:

 

 

 

 

      

發佈了42 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章