Vườn Hoa

Xem dạng PDF

Gửi bài giải

Điểm: 100,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài

Trong vườn nhà Per có ~n~ bông hoa xếp thành một hàng. Bông hoa thứ ~i~ tính từ bên trái có chiều cao ~h_i~ và độ đẹp ~a_i~. Các giá trị ~h_1, h_2, \ldots, h_n~ đôi một khác nhau.

Per muốn nhổ bỏ một số bông hoa sao cho các bông còn lại có chiều cao tăng ngặt từ trái sang phải.

Hãy tìm tổng độ đẹp lớn nhất của những bông hoa còn lại.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên ~n~ — số bông hoa.
  • Dòng thứ hai chứa ~n~ số nguyên ~h_1, h_2, \ldots, h_n~ — chiều cao của các bông hoa.
  • Dòng thứ ba chứa ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ — độ đẹp của các bông hoa.

Kết quả

In ra tổng độ đẹp lớn nhất có thể.

Ví dụ

Đầu vào:

4
3 1 4 2
10 20 30 40

Đầu ra:

60

Giải thích: Giữ lại bông thứ hai và bông thứ tư. Chiều cao còn lại là ~1, 2~ (tăng dần) và tổng độ đẹp là ~20 + 40 = 60~.

Giới hạn

  • ~1 \le n \le 2 \cdot 10^5~
  • ~1 \le h_i \le n~, các ~h_i~ đôi một khác nhau
  • ~1 \le a_i \le 10^9~

Đáp án có thể vượt quá phạm vi số nguyên ~32~ bit.

Đây là bài dãy con tăng dài nhất có trọng số: ~f_i = a_i + \max f_j~ với ~j < i~ và ~h_j < h_i~. Vì ~h~ là một hoán vị của ~1..n~ nên có thể dùng ngay cây chỉ số nhị phân lấy ~\max~ trên tiền tố mà không cần nén giá trị.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.