Bỏ qua đến nội dung

Hướng giải: Nhỏ lớn lớn nhỏ

Nhỏ lớn lớn nhỏ

Mã bài: binarysearch01 Nhóm: Uncategorized Điểm: 1.000 điểm
Giới hạn
3,0 s, 256 MB
Tỉ lệ AC
23,6%
Người giải
19
Chỉ đọc hướng giải khi bế tắc và đừng sao chép mã trong đó. Hãy tôn trọng người ra đề và người viết hướng giải: nộp lời giải chính thức khi chưa tự giải được bài có thể khiến bạn bị khóa tài khoản.

Tiến hành sắp xếp mảng a. Với mỗi truy vấn, tiến hành tìm chỉ số phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng x và chỉ số phần tử nhỏ nhất thỏa mãn lớn hơn x bằng Tìm kiếm nhị phân (có thể sử dụng hàm lower_bound và upper_bound). Gọi hai chỉ số đó lần lượt là i và j. Khi đó:

  • Phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng x là a_i.
  • Phần tử nhỏ nhất thỏa mãn lớn hơn x là a_j.
  • Phần tử lớn nhất thỏa mãn nhỏ hơn hoặc bằng x là a_{j-1}.
  • Phần tử lớn nhất thỏa mãn nhỏ hơn x là a_{i-1}.

Độ phức tạp: O(n.log(n)+q.log(n)).

Bình luận