USACO 2016 - Max Flow

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Farmer John đã lắp đặt một hệ thống mới gồm \(N-1\) đường ống để vận chuyển sữa giữa \(N\) chuồng trong trại (\(2\le N\le50\,000\)), được đánh số thuận tiện từ \(1\ldots N\). Mỗi đường ống nối một cặp chuồng, và mọi chuồng đều được nối với nhau bằng các đường đi qua những đường ống.

FJ đang bơm sữa giữa \(K\) cặp chuồng (\(1\le K\le100\,000\)). Với cặp thứ \(i\), bạn được cho hai chuồng \(s_i\)\(t_i\), là hai đầu mút của một đường đi mà sữa được bơm dọc theo với lưu lượng một đơn vị. FJ lo rằng một số chuồng có thể bị quá tải vì toàn bộ lượng sữa được bơm qua chúng, bởi một chuồng có thể đóng vai trò là điểm trung gian trên nhiều trong số \(K\) đường đi mà sữa đang được bơm dọc theo. Hãy giúp ông xác định lượng sữa lớn nhất được bơm qua một chuồng bất kỳ. Nếu sữa được bơm dọc theo đường đi từ \(s_i\) đến \(t_i\), lượng sữa đó được tính là đi qua cả hai chuồng đầu mút \(s_i\)\(t_i\), cũng như mọi chuồng trên đường đi giữa chúng.

Dữ liệu vào

Dòng đầu tiên chứa \(N\)\(K\).

\(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x\)\(y\) (\(x\ne y\)), mô tả một đường ống giữa chuồng \(x\) và chuồng \(y\).

\(K\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(s\)\(t\), mô tả hai chuồng đầu mút của một đường đi mà sữa đang được bơm qua.

Dữ liệu ra

In một số nguyên biểu thị lượng sữa lớn nhất được bơm qua một chuồng bất kỳ trong trại.

Ví dụ

Ví dụ 1

Input
5 10
3 4
1 5
4 2
5 4
5 4
5 4
3 5
4 3
4 3
1 3
3 5
5 4
1 5
3 4
Output
9

Nguồn

USACO 2015 December Contest, Platinum - Max Flow: https://usaco.org/index.php?page=viewproblem2&cpid=576

Tác giả: Brian Dean.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: