BZOJ 1029 JSOI2007 建築搶修

2022-09-19 08:27:06 字數 1467 閱讀 8648

傳送門

貪心。感覺最近腦子不太好用,不知道是不是線段樹樹剖和網路流把腦子寫傻了。

一開始瞎那啥亂貪心

//

twenty

#include#include

#include

#include

#include

#include

#include

#include

#include

typedef

long

long

ll;using

namespace

std;

const

int maxn=150000+299

;struct

node

}p[maxn];

intans,n;

intmain()

while(j<=n&&now+p[i].t1+p[j].t1>p[j].t2)

j++;

}if(flag) continue

; now+=p[i].t1;

ans++;

i=j;

}printf(

"%d\n

",ans);

return0;

}

view code

wa了,×掉它的資料

16

7 13

8 17

8 89 8

4 35 19

10 16

10 8

3 13

2 87 11

7 15

6 19

1 59 1

1 12

正解

不知道為何sxy大佬用set當堆,習慣用優先佇列。

//

twenty

#include#include

#include

#include

#include

#include

#include

#include

#include

typedef

long

long

ll;using

namespace

std;

const

int maxn=150000+299

;struct

node

}p[maxn];

intans,n;

bool cmp(const node &a,const node &b)

priority_queue

que;

intmain()

else}}

}printf(

"%d\n

",ans);

return0;

}

view code

bzoj1029 JSOI2007 建築搶修

傳送門 貪心顯然。1.按照最後時限排序,暴力插入。但是顯然會錯。10 10 10 20 2 21 2 21 2 21 答案是2,但是顯然最優的是4 於是考慮改進。2.在無法修理時我們可以放棄花費時間最長的工作。明顯花費時間最長的工作時間大於當前工作是修改更優。我們可以用乙個大根堆實現。然後就通過了。...

bzoj1029 JSOI2007 建築搶修

time limit 4 sec memory limit 162 mb submit 4807 solved 2157 submit status discuss 小剛在玩jsoi提供的乙個稱之為 建築搶修 的電腦遊戲 經過了一場激烈的戰鬥,t部落消滅了所有z部落的 入侵者。但是t部落的基地裡已經...

bzoj1029 JSOI2007 建築搶修

description 小剛在玩jsoi提供的乙個稱之為 建築搶修 的電腦遊戲 經過了一場激烈的戰鬥,t部落消滅了所有z部落的 入侵者。但是t部落的基地裡已經有n個建築設施受到了嚴重的損傷,如果不盡快修復的話,這些建築設施將會完全 毀壞。現在的情況是 t部落基地裡只有乙個修理工人,雖然他能瞬間到達任...