你小時候玩過彈珠嗎?
小朋友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的整數表示。
solve
ne[i]表示第i個位置,這種顏色的下乙個在**,求區間內顏色個數,即為求區間內有多少個位置的下乙個在區間外,同bzoj3343,塊內二分,塊外暴力
#include#include#includeusing namespace std;
const int n=10005;
int n,m,k,x,y,ans,a[n];
int be[n],l[n],r[n],len=1;
int ne[n],last[1000005],sor[n];
char ch[5];
inline void reset(int l,int r)
int main ()
for (int i=1;i<=len;++i)reset(l[i],r[i]);
for (int i=1;i<=m;++i)
else}}
return 0;
}
bzoj 2453 維護佇列
你小時候玩過彈珠嗎?小朋友a有一些彈珠,a喜歡把它們排成佇列,從左到右編號為1到n。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多少。當然,a有時候會依據個人喜好,替換佇列中某個彈珠的顏色。但是a還沒有學過程式設計,且覺得頭腦風暴太浪費腦力了,所以向你來尋求幫助。輸入檔案第一...
BZOJ 2453 維護佇列
description 你小時候玩過彈珠嗎?小朋友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。為了整個佇列鮮豔美觀,小朋友想知道某一段連續彈珠中,不同顏色的彈珠有多...