| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | USACO 2021 - Sleeping Cows | 100 (p) | 4.0s | 512M |
| 2 | USACO 2021 - Spaceship | 100 (p) | 4.0s | 512M |
| 3 | USACO 2021 - Cowmistry | 100 (p) | 4.0s | 512M |
Farmer John có \(N\) con bò với nhiều kích thước khác nhau (\(1\le N\le 3000\)). Ban đầu ông xây một chuồng riêng phù hợp cho từng con, nhưng giờ một số con đã lớn quá cỡ chuồng. Cụ thể, FJ đã xây \(N\) chuồng có kích thước \(t_1,t_2,\ldots,t_N\), còn kích thước hiện tại của đàn bò là \(s_1,s_2,\ldots,s_N\) (\(1\le s_i,t_i\le 10^9\)).
Mỗi đêm, đàn bò thực hiện nghi thức tìm chuồng để ngủ. Bò \(i\) có thể ngủ trong chuồng \(j\) khi và chỉ khi nó vừa trong chuồng, tức \(s_i\le t_j\). Mỗi chuồng chứa nhiều nhất một con bò.
Ta gọi một cách ghép bò với chuồng là cực đại khi và chỉ khi mọi con bò được gán vào chuồng đều vừa với chuồng đó, đồng thời mọi con bò chưa được gán đều không thể vừa trong bất kỳ chuồng trống nào còn lại.
Hãy tính số cách ghép cực đại, lấy modulo \(10^9+7\).
Dòng đầu tiên chứa \(N\).
Dòng thứ hai chứa \(N\) số nguyên \(s_1,s_2,\ldots,s_N\), cách nhau bởi dấu cách.
Dòng thứ ba chứa \(N\) số nguyên \(t_1,t_2,\ldots,t_N\), cách nhau bởi dấu cách.
In số cách ghép cực đại, lấy modulo \(10^9+7\).
Ví dụ 1
4
1 2 3 4
1 2 2 3
9
Dưới đây là cả chín cách ghép cực đại. Cặp có thứ tự \((i,j)\) nghĩa là bò \(i\) được gán vào chuồng \(j\).
(1, 1), (2, 2), (3, 4)
(1, 1), (2, 3), (3, 4)
(1, 1), (2, 4)
(1, 2), (2, 3), (3, 4)
(1, 2), (2, 4)
(1, 3), (2, 2), (3, 4)
(1, 3), (2, 4)
(1, 4), (2, 2)
(1, 4), (2, 3)
USACO 2020 December Contest, Platinum - Sleeping Cows: https://usaco.org/index.php?page=viewproblem2&cpid=1068
Tác giả: Nick Wu.
Bò Bessie bị người ngoài hành tinh bắt cóc và đang mắc kẹt trong một tàu vũ trụ! Tàu có \(N\) phòng được đánh số \(1\ldots N\) (\(1\le N\le 60\)), với các cửa một chiều nối một số cặp phòng. Do công nghệ kỳ lạ của người ngoài hành tinh, một cửa thậm chí có thể dẫn từ một phòng trở lại chính phòng đó. Không có hai cửa nào có cùng phòng đầu và phòng cuối. Bessie còn có một điều khiển từ xa với các nút được đánh số \(1\ldots K\) (\(1\le K\le 60\)).
Người ngoài hành tinh sẽ thả Bessie nếu cô hoàn thành một nhiệm vụ. Đầu tiên, họ chọn hai phòng \(s\) và \(t\) (\(1\le s,t\le N\)), cùng hai số \(b_s\) và \(b_t\) (\(1\le b_s,b_t\le K\)). Họ đặt Bessie vào phòng \(s\) và yêu cầu cô lập tức nhấn nút \(b_s\). Sau đó, Bessie di chuyển trong tàu và nhấn các nút theo những quy tắc sau:
Bessie lo rằng mình có thể không hoàn thành được nhiệm vụ. Với \(Q\) truy vấn (\(1\le Q\le 60\)), mỗi truy vấn là một lựa chọn có thể xảy ra của \(s\), \(t\), \(b_s\) và \(b_t\), hãy tính số dãy phòng và lần nhấn nút giúp Bessie được thả. Vì đáp án có thể rất lớn, hãy lấy modulo \(10^9+7\).
Dòng đầu tiên chứa \(N\), \(K\) và \(Q\).
\(N\) dòng tiếp theo, mỗi dòng chứa \(N\) bit, mỗi bit là 0 hoặc 1. Phần tử thứ \(j\) của dòng thứ \(i\) bằng 1 nếu có cửa từ phòng \(i\) đến phòng \(j\), và bằng 0 nếu không có.
Tiếp theo là \(Q\) dòng, mỗi dòng chứa bốn số nguyên \(b_s\), \(s\), \(b_t\), \(t\), lần lượt biểu thị nút xuất phát, phòng xuất phát, nút cuối cùng và phòng cuối cùng.
Với mỗi truy vấn trong \(Q\) truy vấn, in trên một dòng riêng số dãy hợp lệ, lấy modulo \(10^9+7\).
Ví dụ 1
6 3 8
010000
001000
000100
000010
000000
000001
1 1 1 1
3 3 1 1
1 1 3 3
1 1 1 5
2 1 1 5
1 1 2 5
3 1 3 5
2 6 2 6
1
0
1
3
2
2
0
5
Các cửa nối phòng \(1\to2\), \(2\to3\), \(3\to4\), \(4\to5\) và \(6\to6\).
Với truy vấn đầu tiên, Bessie phải dừng ngay sau khi nhấn nút đầu tiên. Với truy vấn thứ hai, đáp án bằng không vì không thể đi từ phòng \(3\) đến phòng \(1\). Với truy vấn thứ ba, lựa chọn duy nhất là đi từ phòng \(1\) qua phòng \(2\) đến phòng \(3\), đồng thời lần lượt nhấn các nút \(1\), \(2\) và \(3\).
Với truy vấn thứ tư, đường đi của Bessie đã cố định và cô có ba dãy nút:
Với truy vấn cuối cùng, Bessie có năm dãy nút:
Ví dụ 2
6 4 6
001100
001110
101101
010111
110111
000111
3 2 4 3
3 1 4 4
3 4 4 1
3 3 4 3
3 6 4 3
3 1 4 2
26
49
29
27
18
22
Dữ liệu này thỏa mãn ràng buộc của mọi nhóm con ngoại trừ nhóm đầu tiên.
Ví dụ 3
6 10 5
110101
011001
001111
101111
111010
000001
2 5 2 5
6 1 5 2
3 4 8 3
9 3 3 5
5 1 3 4
713313311
716721076
782223918
335511486
539247783
Cần in đáp án sau khi lấy modulo \(10^9+7\).
USACO 2020 December Contest, Platinum - Spaceship: https://usaco.org/index.php?page=viewproblem2&cpid=1069
Tác giả: Benjamin Qi.
Bessie đã trì hoãn bài tập hóa học dành cho bò và giờ cần bạn giúp! Cô cần tạo một hỗn hợp gồm ba hóa chất bò khác nhau. Tuy nhiên, một số hóa chất không thể trộn với nhau vì sẽ gây nổ. Cụ thể, hai hóa chất mang nhãn \(a\) và \(b\) chỉ có thể cùng xuất hiện trong một hỗn hợp nếu \(a\oplus b\le K\) (\(1\le K\le 10^9\)).
Ở đây, \(a\oplus b\) là phép XOR theo bit của hai số nguyên không âm \(a\) và \(b\). Phép toán này tương đương với cộng từng cặp bit tương ứng trong hệ nhị phân rồi bỏ số nhớ. Ví dụ:
Bessie có \(N\) hộp hóa chất (\(1\le N\le 2\cdot10^4\)), và hộp thứ \(i\) chứa các hóa chất mang nhãn từ \(l_i\) đến \(r_i\), kể cả hai đầu (\(0\le l_i\le r_i\le 10^9\)). Không có hai hộp nào chứa chung hóa chất. Cô muốn biết có thể tạo bao nhiêu hỗn hợp khác nhau gồm ba hóa chất phân biệt. Hai hỗn hợp được coi là khác nhau nếu có ít nhất một hóa chất xuất hiện trong hỗn hợp này nhưng không xuất hiện trong hỗn hợp kia. Vì đáp án có thể rất lớn, hãy lấy modulo \(10^9+7\).
Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\).
Mỗi dòng trong \(N\) dòng tiếp theo chứa hai số nguyên \(l_i\) và \(r_i\), cách nhau bởi dấu cách. Các hộp được cho theo thứ tự tăng dần của nội dung; cụ thể, \(r_i<l_{i+1}\) với mọi \(1\le i<N\).
In số hỗn hợp gồm ba hóa chất phân biệt mà Bessie có thể tạo, lấy modulo \(10^9+7\).
Ví dụ 1
1 13
0 199
4280
Có thể chia các hóa chất thành \(13\) nhóm không thể trộn chéo: \((0\ldots15)\), \((16\ldots31)\), \(\ldots\), \((192\ldots199)\). Mỗi nhóm trong mười hai nhóm đầu tạo ra \(352\) hỗn hợp khác nhau, còn nhóm cuối tạo ra \(56\) hỗn hợp vì cả \(\binom{8}{3}\) cách chọn ba hóa chất phân biệt trong \((192\ldots199)\) đều hợp lệ. Tổng cộng có \(352\cdot12+56=4280\) hỗn hợp.
Ví dụ 2
6 147
1 35
48 103
125 127
154 190
195 235
240 250
267188
USACO 2020 December Contest, Platinum - Cowmistry: https://usaco.org/index.php?page=viewproblem2&cpid=1070
Tác giả: Benjamin Qi.