bzoj 2453 維護佇列

2021-06-28 19:16:49 字數 1091 閱讀 1946

你小時候玩過彈珠嗎?

小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多少。當然,a有時候會依據個人喜好,替換佇列中某個彈珠的顏色。但是a還沒有學過程式設計,且覺得頭腦風暴太浪費腦力了,所以向你來尋求幫助。

輸入檔案第一行包含兩個整數n和m。

第二行n個整數,表示初始佇列中彈珠的顏色。

接下來m行,每行的形式為「q l r」或「r x c」,「q l r」表示a想知道從佇列第l個彈珠到第r個彈珠中,一共有多少不同顏色的彈珠,「r x c」表示a把x位置上的彈珠換成了c顏色。

對於每個q操作,輸出一行表示詢問結果。

2 31 2q 1 2

r 1 2

q 1 221

對於100%的資料,有1 ≤ n ≤ 10000, 1 ≤ m ≤ 10000,小朋友a不會修改超過1000次,所有顏色均用1到10^6的整數表示。

2011福建集訓

【教練網上分塊的題解細節太多寫起來太麻煩我完全實現不出啦!】

於是我用了莫隊.....

多記錄個時間t就行了,然後和普通莫隊一樣搞【糖果公園佇列版】

#include#include#includeusing namespace std;

int a[10001],b[10001];

struct ask

as[10001];

struct change

ch[10001];

int belong[10001];

int s[1000001];

bool v[10001];

int nt,sx;

int ans;

inline bool cmp1(ask x,ask y)

while(ras[i].r)

while(tas[i].t)

as[i].x=ans;

}sort(as+1,as+1+p1,cmp2);

for(i=1;i<=p1;i++)

printf("%d\n",as[i].x);

return 0;

}

BZOJ 2453 維護佇列

description 你小時候玩過彈珠嗎?小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多少。當然,a有時候會依據個人喜好,替換佇列中某個彈珠的顏色。但是a還沒有學過程式設計,且覺得頭腦風暴太浪費腦力了,所以向你...

bzoj2453 維護佇列

你小時候玩過彈珠嗎?小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多少。當然,a有時候會依據個人喜好,替換佇列中某個彈珠的顏色。但是a還沒有學過程式設計,且覺得頭腦風暴太浪費腦力了,所以向你來尋求幫助。輸入檔案第一...

BZOJ2453 維護佇列

time limit 10 sec memory limit 128 mb submit 183 solved 89 submit status 你小時候玩過彈珠嗎?小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多...