Quy Hoạch Động Cây Tối Ưu Bằng Convex Hull Trick (CHT Trên Cây)
Cho một cây có gốc gồm N đỉnh (đánh số từ 1 đến N, gốc là đỉnh 1). Mỗi đỉnh u có hai giá trị trọng số Au và Bu.
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: Convex Hull Trick, DFS Order, Persistent / Rollback Line Container.
Nội dung đề bài
Mô tả bài toán
Cho một cây có gốc gồm N đỉnh (đánh số từ 1 đến N, gốc là đỉnh 1). Mỗi đỉnh u có hai giá trị trọng số Au và Bu.
Khi đứng tại đỉnh u, bạn có thể nhảy lên bất kỳ đỉnh v nào nằm trên đường đi từ u lên gốc 1 (v là tổ tiên thực sự của u). Chi phí cho bước nhảy trực tiếp từ u lên v là: C(u, v) = Au · Bv
Gọi DPu là chi phí nhỏ nhất để đi từ đỉnh u lên đến gốc đỉnh 1. Tại gốc 1, chi phí DP1 = 0. Với mọi đỉnh u ≠ 1: DPu = minv ∈ ancestors(u) (DPv + Au · Bv)
Hãy tính giá trị DPu cho tất cả các đỉnh u = 1, 2, …, N.
Quy ước nộp bài
- Chỉ cần viết một chương trình đọc
stdinvà in rastdout. Bài này không yêu cầu viết hàm. - Không dùng
coutđể in lời nhắc trước khi đọc dữ liệu. Lời nhắc sẽ lọt vàostdoutvà làm bài sai. - Chỉ in đúng nội dung ở mục Output. Không in thêm nhãn, dòng trống hay ký tự thừa.
- Output được so khớp từng ký tự, phân biệt chữ hoa/thường và dấu câu.
Input
- Dòng đầu chứa số nguyên N (2 ≤ N ≤ 105).
- Dòng thứ hai chứa N số nguyên A1, A2, …, AN (-106 ≤ Ai ≤ 106).
- Dòng thứ ba chứa N số nguyên B1, B2, …, BN (-106 ≤ Bi ≤ 106).
- N - 1 dòng tiếp theo, mỗi dòng chứa hai số nguyên u, v (1 ≤ u, v ≤ N) mô tả một cạnh của cây. Gốc là đỉnh 1.
Output
- In ra N số nguyên trên một dòng, cách nhau bởi dấu cách: DP1, DP2, …, DPN.
Ràng buộc
- Thời gian chạy tối đa: 1000ms.
- Giới hạn bộ nhớ: 256MB.
- Dữ liệu đầu vào tuân thủ đúng định dạng và miền giá trị được mô tả.
Ví dụ 1
Input
3
0 2 3
0 5 1
1 2
2 3Output
0 10 3Giải thích
Dữ liệu kiểm thử mẫu và kết quả thực thi theo yêu cầu.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
