USACO 2014 - Tháng 3 - Hạng Vàng

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 USACO 2014 - The Lazy Cow 100 (p) 4.0s 512M
2 USACO 2014 - Sabotage 100 (p) 4.0s 512M
3 USACO 2014 - Counting Friends 100 (p) 4.0s 512M

1. USACO 2014 - The Lazy Cow

Điểm: 100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Đó là một ngày hè nóng nực và cô bò Bessie cảm thấy khá lười biếng. Cô muốn chọn một vị trí trong cánh đồng để có thể tiếp cận nhiều cỏ ngon nhất có thể mà chỉ phải đi một quãng ngắn.

Cánh đồng của Bessie có \(N\) cụm cỏ (\(1 \le N \le 100\,000\)). Cụm cỏ thứ \(i\) chứa \(g_i\) đơn vị cỏ (\(1 \le g_i \le 10\,000\)) và nằm tại một điểm \((x_i,y_i)\) riêng biệt trên cánh đồng (\(0 \le x_i,y_i \le 1\,000\,000\)). Bessie muốn chọn một điểm trên cánh đồng làm vị trí ban đầu (điểm này có thể trùng với một cụm cỏ, thậm chí có thể có tọa độ không nguyên) sao cho lượng cỏ nằm cách vị trí đó không quá \(K\) bước là lớn nhất (\(1 \le K \le 2\,000\,000\)).

Khi Bessie đi một bước, cô di chuyển \(1\) đơn vị về phía bắc, nam, đông hoặc tây so với vị trí hiện tại. Ví dụ, để đi từ \((0,0)\) đến \((3,2)\) cần tổng cộng \(5\) bước. Bessie không nhất thiết phải đi những bước có độ dài nguyên; chẳng hạn, tổng cộng \(1\) bước có thể được chia thành nửa đơn vị về phía bắc và nửa đơn vị về phía đông.

Hãy giúp Bessie xác định lượng cỏ lớn nhất mà cô có thể tiếp cận nếu chọn vị trí ban đầu tối ưu.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên \(N\)\(K\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa ba số nguyên \(g_i\), \(x_i\)\(y_i\), mô tả cụm cỏ thứ \(i\).

Ràng buộc

  • \(1 \le N \le 100\,000\).
  • \(1 \le g_i \le 10\,000\).
  • \(0 \le x_i,y_i \le 1\,000\,000\) và các điểm \((x_i,y_i)\) đôi một khác nhau.
  • \(1 \le K \le 2\,000\,000\).

Dữ liệu ra

In ra lượng cỏ lớn nhất Bessie có thể tiếp cận trong phạm vi \(K\) bước nếu chọn vị trí ban đầu tối ưu.

Ví dụ

Ví dụ 1

Input
4 3
7 8 6
3 0 0
4 6 0
1 4 2
Output
8
Giải thích

Bessie sẵn lòng đi nhiều nhất \(3\) bước từ vị trí ban đầu. Có \(4\) cụm cỏ. Cụm đầu tiên chứa \(7\) đơn vị cỏ và nằm tại vị trí \((8,6)\), và các cụm còn lại được mô tả tương tự.

Nếu đứng tại \((3,0)\), Bessie có thể tiếp cận toàn bộ cỏ ở các vị trí \((0,0)\), \((6,0)\)\((4,2)\) trong phạm vi \(K\) đơn vị khoảng cách.

Nguồn

USACO 2014 March Contest, Gold — The Lazy Cow

Tác giả: Brian Dean, 2014.

2. USACO 2014 - Sabotage

Điểm: 100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Kẻ thù không đội trời chung của Farmer John, Farmer Paul, đã quyết định phá hoại thiết bị vắt sữa của Farmer John!

Thiết bị vắt sữa gồm một hàng \(N\) máy vắt sữa (\(3 \le N \le 100\,000\)), trong đó máy thứ \(i\) sản xuất \(M_i\) đơn vị sữa (\(1 \le M_i \le 10\,000\)). Farmer Paul dự định ngắt kết nối một đoạn máy liên tiếp, từ máy thứ \(i\) đến máy thứ \(j\) (\(2 \le i \le j \le N-1\)). Lưu ý rằng Farmer Paul không muốn ngắt kết nối máy đầu tiên hoặc máy cuối cùng vì như vậy âm mưu của ông sẽ quá dễ bị phát hiện. Mục tiêu của Farmer Paul là giảm thiểu sản lượng sữa trung bình của những máy còn lại. Farmer Paul dự định loại bỏ ít nhất \(1\) con bò, ngay cả khi không phá hoại gì cả sẽ có lợi hơn cho ông.

May mắn thay, Farmer John đã biết được âm mưu xấu xa của Farmer Paul và đang tự hỏi sản lượng sữa sẽ bị ảnh hưởng nghiêm trọng đến mức nào nếu âm mưu thành công. Hãy giúp Farmer John tìm sản lượng sữa trung bình nhỏ nhất của những máy còn lại nếu Farmer Paul thành công.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên \(N\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa \(M_i\).

Ràng buộc

  • \(3 \le N \le 100\,000\).
  • \(1 \le M_i \le 10\,000\).
  • Đoạn bị ngắt kết nối phải thỏa mãn \(2 \le i \le j \le N-1\).

Dữ liệu ra

In ra giá trị trung bình nhỏ nhất Farmer Paul có thể đạt được, được làm tròn đến \(3\) chữ số sau dấu thập phân và phải luôn hiển thị đủ \(3\) chữ số sau dấu thập phân.

Ví dụ

Ví dụ 1

Input
5
5
1
7
8
2
Output
2.667
Giải thích

Phương án tối ưu là loại bỏ \(7\)\(8\), để lại \(5\), \(1\)\(2\), có giá trị trung bình bằng \(8/3\).

Nguồn

USACO 2014 March Contest, Gold — Sabotage

Tác giả: Brian Dean, 2014.

3. USACO 2014 - Counting Friends

Điểm: 100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

\(N\) cô bò của Farmer John (\(2 \le N \le 500\)) đã tham gia mạng xã hội "MooBook".

Mỗi cô bò có một hoặc nhiều người bạn để tương tác trên MooBook. Để giải trí, Farmer John lập danh sách số lượng bạn bè của từng cô bò. Tuy nhiên, trong lúc ghi danh sách ông bị xao nhãng và vô tình ghi thừa một số, vì vậy danh sách có \(N+1\) số thay vì \(N\) số như dự định.

Hãy giúp Farmer John xác định những số nào trong danh sách có thể là số thừa bị ghi nhầm.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên \(N\).
  • \(N+1\) dòng tiếp theo, dòng thứ \(i\) chứa số lượng bạn bè của một cô bò của FJ hoặc có thể là số thừa bị ghi nhầm.

Ràng buộc

  • \(2 \le N \le 500\).
  • Mỗi cô bò có một hoặc nhiều người bạn.

Dữ liệu ra

  • Dòng đầu tiên chứa số nguyên \(K\), là số phần tử trong danh sách của FJ có thể là số thừa. Nếu \(K=0\) thì không có số nào trong danh sách mà sau khi xóa đi sẽ tạo ra một cách kết bạn khả thi.
  • \(K\) dòng tiếp theo, mỗi dòng chứa chỉ số trong thứ tự dữ liệu vào (từ \(1\) đến \(N+1\)) của một số trong danh sách có thể là số thừa; tức là sau khi xóa số này, \(N\) số còn lại cho phép hình thành một tập quan hệ bạn bè khả thi giữa các cô bò. Các chỉ số phải được in theo thứ tự tăng dần.

Ví dụ

Ví dụ 1

Input
4
1
2
2
1
3
Output
3
1
4
5
Giải thích

Farmer John có \(4\) cô bò. Hai cô chỉ có \(1\) người bạn mỗi cô, hai cô có \(2\) người bạn mỗi cô và một cô có \(3\) người bạn; tất nhiên, một trong các số này là số thừa không thuộc danh sách.

Xóa số đầu tiên trong danh sách của FJ (số \(1\)) sẽ để lại danh sách \(2,2,1,3\), và danh sách này thật sự cho phép một cách kết bạn khả thi. Chẳng hạn, nếu đặt tên các cô bò là \(A\) đến \(D\), các cặp \((A,B)\), \((A,C)\), \((A,D)\)\((B,C)\) là đủ: \(A\)\(3\) người bạn, \(B\)\(C\)\(2\) người bạn, còn \(D\)\(1\) người bạn. Tương tự, xóa số \(1\) còn lại trong danh sách của FJ cũng được, và xóa số \(3\) cũng được. Xóa một trong hai số \(2\) đều không được; có thể thấy điều này vì tổng các số còn lại là số lẻ, rõ ràng khiến việc tìm một cách kết bạn khả thi trở nên bất khả thi.

Nguồn

USACO 2014 March Contest, Gold — Counting Friends

Tác giả: Brian Dean, 2014.