時間限制:c/c++ 3秒,其他語言6秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
你們wyh學長小時候住在河邊,因為周圍的生態環境非常好,所以經常會有天鵝浮在湖面上,每只天鵝都長得不一樣,它們偶爾排成一排,偶爾分散開,偶爾也會去其他河畔,wyh學長為了統計它們的個數,編了乙個程式賦予它們乙個「萌」值,但是這些天鵝很不聽話,一會兒會從別的地方游過來一兩隻,一會兒又會在統計過程中游走一兩隻,現在請你幫他完成統計任務。
共有t(t<=10)組資料,每組資料第一行為兩個數 n, m (n,m <= 500000),代表有n只天鵝和m次操作,接下來一行是n個數字,下面m行首先會輸入乙個字串s,接著會有三類操作,如果s是「insert」,接著輸入乙個正整數a,代表插入乙隻「萌」值為a的天鵝,如果s是「delete」,接著輸入乙個正整數a,代表刪除乙隻「萌」值為a的天鵝,如果s是「query」,接著輸入乙個正整數k,代表查詢「萌」值第k大的天鵝。萌值為[1,1000000000],並且保證一定存在第k大
對應每次詢問,輸出詢問結果。示例1
15 46 4 2 9 1
query 2
insert 7
delete 6
query 2
7線段樹 略坑
需要先讀入之後, 由於輸入範圍很大, 需要離散化處理。
然後線段樹,區間處理就可以。
具體參照**
複雜度: m*log(n)
1 #include2using
namespace
std;
3 #include4 #include5 #include6 #include7 #include8
const
int maxn = 1510000
;9 typedef long
long
ll;10 template
11class
tree
24int mid=(ll+rr)/2
;25 creat(k*2
,ll,mid);
26 creat(k*2+1,mid+1
,rr);
27 a[k]=a[k*2]+a[k*2+1
];28 b[k]=b[k*2]+b[k*2+1
];29}30
void change(int k,int ll,int rr,int
t)40 change(k*2
,ll,rr,t);
41 change(k*2+1
,ll,rr,t);
42 a[k]=a[k*2]+a[k*2+1
];43 b[k]=b[k*2]+b[k*2+1
];44}45
int query(int k,int
t)54
};55 template
56class
disperse79}
8081
intget(const t&p)
84};
85 treet;
86 dispersedis;
87int lb[600000],lord[600000
];88
int aa[1200000
];89
int ys[600000
];90
intmain()
104char s[30
];105
for(int i=0;i)
118 dis.creat(aa,anum,0
);119
for(int i=0;i)
123for(int i=0;i)
129else
if(lb[i]==1
)133
else
if(lb[i]==2
)137
}138
}139
return0;
140 }
wyh的天鵝 vector的使用
時間限制 c c 3秒,其他語言6秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 你們wyh學長小時候住在河邊,因為周圍的生態環境非常好,所以經常會有天鵝浮在湖面上,每只天鵝都長得不一樣,它們偶爾排成一排,偶爾分散開,偶爾也會去其他河畔,wyh學...
wyh天鵝 牛客網
題目描述 你們wyh學長小時候住在河邊,因為周圍的生態環境非常好,所以經常會有天鵝浮在湖面上,每只天鵝都長得不一樣,它們偶爾排成一排,偶爾分散開,偶爾也會去其他河畔,wyh學長為了統計它們的個數,編了乙個程式賦予它們乙個 萌 值,但是這些天鵝很不聽話,一會兒會從別的地方游過來一兩隻,一會兒又會在統計...
wyh的天鵝 vector暴力做
時間限制 c c 3秒,其他語言6秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 你們wyh學長小時候住在河邊,因為周圍的生態環境非常好,所以經常會有天鵝浮在湖面上,每只天鵝都長得不一樣,它們偶爾排成一排,偶爾分散開,偶爾也會去其他河畔,wyh學...