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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章