口胡 NOIP2011DAY1 選擇客棧

2021-08-09 01:23:16 字數 1260 閱讀 8123

乙個長度為 n 的區間,每個位置上有顏色 ci 以及代價 vi,現在問有多少個區間 [l,r] 滿足 cl = cr 且∃l

≤i≤r

,使得v

i≤p 。

我們只考慮每乙個點作為左端點時對答案的貢獻,我們令ne

xti 表示在i左邊,離i最近,且vn

exti

≤p的那個端點,(可以為i本身)那麼i這個端點對答案的貢獻就是區間[1,ne

xti ]顏色為c[i]的個數,用字首和搞一下就行。

const

maxn=200000;

var sum:array[0..maxn,0.

.55] of longint;

a,next,c:array[0..maxn] of longint;

bz:array[0..maxn] of boolean;

i,j,k,n,m,p:longint;

ans:int64;

begin

readln(n,k,p);

readln(c[1],a[1]);

sum[1,c[1]]:=1;

if a[1]<=p then

bz[1]:=true;

for i:=2

to n do

begin

readln(c[i],a[i]);

for j:=0

to k-1

do sum[i,j]:=sum[i-1,j];

inc(sum[i,c[i]]);

if a[i]<=p then

bz[i]:=true;

end;

for i:=1

to n do

if bz[i] then

break;

k:=i;

next[i]:=i;

for j:=k to n do

begin

if bz[j] then

begin

next[j]:=j;

i:=j;

endelse

next[j]:=i;

end;

for i:=k to n do

begin

if next[i]=i then

dec(ans);

ans:=ans+sum[next[i],c[i]]

end;

writeln(ans);

end.

NOIP 2011 day1 選擇客棧

題目大意 麗江河邊有 n 家很有特色的客棧,客棧按照其位置順序從1 到n 編號。每家客棧都按照 某一種色調進行裝飾 總共k 種,用整數0 k 1 表示 且每家客棧都設有一家咖啡店,每 家咖啡店均有各自的最低消費。兩位遊客一起去麗江旅遊,他們喜歡相同的色調,又想嘗試兩個不同的客棧,因此決定 分別住在色...

口胡 NOIP2012DAY1 借教室

題目描述 在大學期間,經常需要租借教室。大到院系舉辦活動,小到學習小組自習討論,都需要向學校申請借教室。教室的大小功能不同,借教室人的身份不同,借教室的手續也不一樣。面對海量租借教室的資訊,我們自然希望程式設計解決這個問題。我們需要處理接下來n天的借教室資訊,其中第i天學校有ri個教室可供租借。共有...

NOIP2011 提高組Day 1題解

總結 第一天的三道題除了第三題 長度有點超過我的接受範圍之外,一二題難度還是比較適中滴,只可惜第二題我打的暴力忘了小小的優化一下,結果沒得全分,有點難過了。這道題的思路就是輸入過後倒著尋找符合條件的地毯,因為越後放的地毯在越上面 這道題我們先列舉第二個客棧的位置,然後去倒推第乙個客棧的位置。當時做這...