ORDERSET - Order statistic set


Tập hợp thứ tự

Bạn cần quản lý một tập hợp động các số, hỗ trợ hai thao tác cơ bản:

  • INSERT(S,x): nếu x không thuộc S, thêm x vào S
  • DELETE(S,x): nếu x thuộc S, xóa x khỏi S

và hai loại truy vấn

  • K-TH(S) : trả về số bé thứ k của S
  • COUNT(S,x): đếm số lượng số thuộc S bé hơn x

Dữ liệu

  • Dòng 1: Q (1 ≤ Q ≤ 200000), số thao tác
  • Q dòng sau, đầu mỗi dòng chứa ký tự I, D, K hoặc C cho biết thao tác tương ứng là INSERT, DELETE, K-TH hay COUNT. Tiếp theo là một khoảng trắng và một số nguyên là tham số cho thao tác đó.

Nếu tham số là giá trị x, dữ liệu bảo đảm 0 ≤ |x| ≤ 109. Nếu tham số là chỉ số k, dữ liệu bảo đảm 1 ≤ k ≤ 109.

Kết quả

Với mỗi truy vấn, in ra kết quả tương ứng trên một dòng. Với truy vấn K-TH, nếu k lớn hơn số phần tử của S, in ra 'invalid'.

Ví dụ

Dữ liệu
8
I -1
I -1
I 2
C 0
K 2
D -1
K 1
K 2

Kết quả
1
2
2
invalid

hide comments
scube97: 2018-04-27 19:46:40

Why is the time limit so strict ? Tried everything , unordered_map,changes long long to int,but to no avail still a tle. Approach segment tree after compression.Each query in O(logn*logn)

Last edit: 2018-04-27 19:47:21
alexandro5432: 2018-04-09 22:06:56

easy Treap question

hitman007: 2018-01-21 20:22:58

Any Java programmer here who got it accepted ? I am hearing only c++programs. In Java, even with Compression + BIT + Binary search + Fast I/O, I am getting TLE after test case #6.

hitman007: 2018-01-21 16:58:07

Implemented with BIT. But constantly getting WA after test case #5. Any hint ?

be1035016: 2017-12-29 16:57:27

map with bit->0.56sec
unordered_map with bit->0.45sec

pranavraj219: 2017-12-13 22:51:51

BIT - 0.35s
SEGTREE - 0.75s
Regular map did not give TLE but still its better to use unordered_map.

sarwar__05: 2017-12-10 00:08:14

TLE with std::map, AC with std::unordered_map

amulyagaur: 2017-10-20 07:06:57

Direct implementation of policy based data structures in C++

shubham_7616: 2017-08-17 22:08:43

Just loved it......Learned a lot !!
Nice application of BIT.
For those getting TLE use unordered map instead of map and use scanf printf .

starbot: 2017-08-17 20:19:00

Amazing problem...learnt a lot...time to play cs


Added by:Duc
Date:2008-10-28
Time limit:0.300s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:© VNOI