Gợi ý bài CNTSEQ - Số lượng dãy con

Trùm CUỐI 2020-10-12 7:09:53

Link bài CNTSEQ - Số lượng dãy con

Trước hết các bạn nghiên cứu giải bài NUMMAX - Dãy chứa max (Đây là bài thi THHV lần thứ XV ở Sơn La - 2019)

Quay lại bài CNTSEQ - Số lượng dãy con:

  • Gọi x_1 < x_2 < \dots < x_k k giá trị khác nhau sắp xếp tăng dần của dãy a .
  • Ta tính b_i là số dãy con của dãy a có giá trị lớn nhất của phần tử trong dãy đúng bằng x_i
  • Khi đó với mỗi truy vấn L, R , ta tìm hai chỉ số i nhỏ nhất và j lớn nhất sao cho L \le x_i x_j \le R , khi đó ta có đáp số cho truy vấn L, R b_i + b_{i+1} + \dots + b_j .

Tổng cộng 2 trả lời

Nguyễn Hoàng Sơn

Mỗi truy vấn L, R em tốn log2(n)*2 : chặt nhị phân

Nguyễn Hoàng Sơn

Em cũng làm như trên nhưng vẫn tle ạ :((