pp大廈有一間空的禮堂,可以為企業或者單位提供會議場地。這些會議中的大多數都需要連續幾天的時間(個別的可能只需要一天),不過場地只有乙個,所以不同的會議的時間申請不能夠衝突。也就是說,前乙個會議的結束日期必須在後乙個會議的開始日期之前。所以,如果要接受乙個新的場地預約申請,就必須拒絕掉與這個申請相衝突的預約。 一般來說,如果pp大廈方面事先已經接受了乙個會場預約,例如從10日到15日,就不會在接受與之相衝突的預約,例如從12日到17日。不過,有時出於經濟利益,pp大廈方面有時會為了接受乙個新的會場預約,而拒絕掉乙個甚至幾個之前預訂的預約。 於是,禮堂管理員qq的筆記本上筆記本上經常記錄著這樣的資訊: 本題中為方便起見,所有的日期都用乙個整數表示。例如,如果乙個為期10天的會議從「90日」開始到「99日」,那麼下乙個會議最早只能在「100日」開始。 最近,這個業務的工作量與日俱增,禮堂的管理員qq希望參加shtsc的你替他設計一套計算機系統,方便他的工作。這個系統應當能執行下面兩個操作: a操作:有乙個新的預約是從「start日」到「end日」,並且拒絕掉所有與它相衝突的預約。執行這個操作的時候,你的系統應當返回為了這個新預約而拒絕掉的預約個數,以方便qq與自己的記錄相校對。 b操作:請你的系統返回當前的仍然有效的預約的總數。
輸入格式:
輸入檔案的第一行是乙個整數n,表示你的系統將接受的操作總數。 接下去n行每行表示乙個操作。每一行的格式為下面兩者之一: 「a start end」表示乙個a操作; 「b」表示乙個b操作。
輸出格式:
輸出檔案有n行,每行一次對應乙個輸入。表示你的系統對於該操作的返回值。
輸入樣例#1:複製
6輸出樣例#1:複製a 10 15
a 17 19
a 12 17
a 90 99
a 11 12
b
002n< = 200000012
1< = start end < = 100000
思維難度:省選
**難度:省選
#include#includeusing namespace std;
const int maxn=200005;
const int inf=maxn*2;
int n,des[maxn];
struct treet[maxn*4];
struct nodeque[maxn];
inline int read()
while(c<='9'&&c>='0')
return x*f;
}inline int lson(int rt)
inline int rson(int rt)
inline int mn(int x,int y)
inline void pushdown(int rt)
inline void update(int l,int r,int x,int rt)
pushdown(rt);
int mid=t[rt].l+t[rt].r>>1;
if(l<=mid)update(l,r,x,lson(rt));
if(r>mid)update(l,r,x,rson(rt));
pushup(rt);
}inline int query(int l,int r,int rt)
pushdown(rt);
int mid=t[rt].l+t[rt].r>>1,ans=inf;
if(l<=mid)
if(r>mid)
return ans;
}inline char getc()
return c;
}int main()
build(1,200000,1);
for(int i=n;i>=1;i--)
} for(int i=1;i<=n;i++)
else
} return 0;
}
SHOI2009 會場預約
首先我們要知道,滿足什麼性質的線段,才與當前這個插入的線段有交集呢?那就是 線段的左端點在 1,r 但是線段的右端點大於l,所以,我們直接把線段的左端點當成下標,值當成r,插入到線段樹當中即可。然後刪除操作 只要在區間 1,r 並且區間max大於等於當前插入的線段的左端點,那麼就去刪除即可。同時線段...
SHOI2009 會場預約
題意 支援操作 按順序在數軸上插入一條線段,刪除並詢問所有與這條線段有交的線段個數。詢問當前數軸上一共有多少條線段。想做了很久的題 觀察到和線段 l i,r i 有交的線段,實際上就是右端點 ge l i 並且左端點 le r i 的一些線段。我們可以把所有線段按照右端點第一關鍵字,左端點第二關鍵字...
SHOI2009 會場預約
orz 據說這個題有四種寫法 我孔乙己表示只會一種。暫時的 pp大廈有一間空的禮堂,可以為企業或者單位提供會議場地。這些會議中的大多數都需要連續幾天的時間 個別的可能只需要一天 不過場地只有乙個,所以不同的會議的時間申請不能夠衝突。也就是說,前乙個會議的結束日期必須在後乙個會議的開始日期之前。所以,...