canuc80k7802·3/10

Dãy Đèn Hai Màu

Nộp bài trên LQDOJ

Bài 78 · Aliens Trick

Tô đúng trong bóng đèn màu đỏ, các bóng còn lại màu xanh, để tổng phần thưởng trên những cặp kề khác màu lớn nhất.

Input

  • Dòng đầu chứa và .
  • Dòng thứ hai chứa số , là phần thưởng giữa bóng và .

Output

  • In tổng phần thưởng lớn nhất.

Constraints

Scoring

  • Subtask ( số điểm): dữ liệu nằm trong miền nhỏ, phù hợp với lời giải vét cạn hoặc DP trực tiếp được mô tả trong tài liệu.
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

5 2
3 8 2 6

Output

19

Giải thích: Tô đỏ các bóng và , còn lại tô xanh. Bốn cặp kề đều khác màu nên nhận .

Lời giải tóm tắt
  • Mô hình: Tô đúng R trong N bóng đèn màu đỏ, các bóng còn lại màu xanh, để tổng phần thưởng trên những cặp kề khác màu lớn nhất. Đại lượng bị giới hạn về số lượng được chuyển thành một khoản phạt hoặc phần thưởng, nhờ đó bỏ được chiều đếm lớn khỏi DP hay thuật toán tối ưu cơ sở.
  • Thuật toán: Đổi bài toán về chọn đúng min(R,N−R) đỉnh không kề có trọng số là tổng hai cạnh kề; dùng Alien Trick trên DP independent set của đường.
  • Chứng minh đúng: Đổi tên hai màu cho thấy chỉ cần r=min(R,N−R). Một cấu hình màu tương ứng với việc chọn r vị trí độc lập trên đường sau phép biến đổi chuẩn; trọng số vị trí i là A_{i−1}+A_i. DP independent set fixed-lambda xét bỏ i hoặc lấy i sau i−2, đồng thời đếm số vị trí. Đường bao theo số lượng là lõm, số lượng giảm khi lambda tăng, nên nghiệm tại ngưỡng cộng lại lambda*r cho đúng giá trị cần tìm.
  • Độ phức tạp: Mỗi lần DP O(N), tổng O(N log V) thời gian và O(N) bộ nhớ.