Gợi ý bài WATERMOV - Chuyển nước

Trùm CUỐI 2020-10-06 2:34:25 2020-10-06 2:46:14

Link bài WATERMOV - Chuyển nước

  • Gọi s[] là dãy tổng trước của dãy a , tức là s_i = a_1 + a_2 + \dots + a_i .
  • Với mỗi i = 0..n , ta coi (i, s_i) là một điểm M_i trong mặt phẳng tọa độ (M_0 \equiv O) . Khi đó ta có nhận xét: Dãy a là dãy không giảm khi và chỉ khi dãy điểm M_i thỏa mãn khi đi từ M_i\rightarrow M_{i+1} \rightarrow M_{i+2} không rẽ phải (tức là đi thắng hoặc rẽ trái).
  • Thuật toán (không biết lý thuyết này ở đâu):
    • Tìm dãy bao lồi dưới của dãy O\equiv M_0, M_1, \dots M_n , giả sử được dãy O\equiv N_0, N_1, \dots N_m \equiv M_n
    • Diện tích đa giác tạo bởi 2 dãy trên chính là chi phí chuyển nước.

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

Nguyễn Hoàng Sơn

WOW, em học thêm được kiến thức mới về những bài không có hình học nhưng có thể giải bằng hình học. Thật magic!