canuc80k4203·4/30

Dãy Chuyển Tiếp Đơn Điệu

Nộp bài trên LQDOJ

Bài 42 · Convex Hull Trick

Cho hai dãy số nguyên và . Đặt . Với mỗi , bạn phải chọn một chỉ số và trả chi phí .

Hãy tính giá trị nhỏ nhất có thể của .

Input

  • Dòng đầu chứa .
  • Dòng thứ hai chứa dãy .
  • Dòng thứ ba chứa dãy .

Output

  • In .

Constraints

  • .
  • và dãy tăng nghiêm ngặt.
  • và dãy giảm nghiêm ngặt.

Scoring

  • Subtask ( số điểm): kích thước chính không vượt quá .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

4
1 2 4 7
9 6 3 0

Output

57

Giải thích: Ta có . Với , ba lựa chọn cho giá trị , nên .

Lời giải tóm tắt
  • Phân tích: Tính recurrence cực tiểu tuyến tính trên mọi chỉ số trước.
  • Thuật toán: Mỗi trạng thái j sinh đường y=b_j·x+dp_j. Truy vấn bao dưới tại x=a_i để lấy dp_i, rồi thêm đường của trạng thái mới.
  • Chứng minh: Tập đường trước khi xử lý i tương ứng một-một với mọi j<i; giá trị đường tại a_i đúng bằng chi phí nếu chọn j. Vì vậy cực tiểu của bao là recurrence.
  • Độ phức tạp: O(n log n) thời gian, O(n) bộ nhớ.