| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Thử thách nhị phân | 100 (p) | 1.0s | 256M |
| 2 | Bảng con | 100 (p) | 1.0s | 256M |
| 3 | Sum họp | 100 (p) | 1.0s | 256M |
| 4 | Bội chung nhỏ nhất | 100 (p) | 1.0s | 256M |
| 5 | Tăng giảm | 100 (p) | 1.0s | 256M |
Nay ngày của các mỹ nhân
Chàng được cho dãy nhị phân dài \(n\)
Chàng ngồi chàng đảo hàng giờ
Lấy dãy toàn 1 làm thơ tặng nàng
Vì chàng vốn rất yêu nàng
Dãy càng nhiều 1, thơ càng thêm sang
Nhờ thí sinh đảo giúp chàng
Cho nhiều số 1 để chàng tặng em
Yêu cầu: Cho một xâu nhị phân độ dài \(n\), hãy giúp chàng trai chọn một đoạn liên tiếp của xâu và đảo ngược các kí tự trong đoạn đó (0 thành 1, 1 thành 0) để sau cùng xâu có nhiều kí tự 1 nhất.
1 nhiều nhất có thể sau khi thực hiện một lần đảo ngược một đoạn liên tiếp.Test 1
5
10101
4
Chọn đoạn liên tiếp từ vị trí \(2\) đến vị trí \(4\) ta được xâu 11011.
Cho một ma trận gồm \(n\) hàng, \(m\) cột. Các hàng được đánh số từ \(1\) đến \(n\), các cột được đánh số từ \(1\) đến \(m\). Ô nằm trên hàng \(i\), cột \(j\) được kí hiệu là ô \((i, j)\). Bảng con \((x, y, u, v)\) là tập hợp các ô \((i, j)\) thỏa mãn \(x \leq i \leq u\) và \(y \leq j \leq v\). Bảng con \((x, y, u, v)\) được gọi là bảng vuông khi và chỉ khi \(u - x = v - y\).
Với mỗi ô \((i,j)\) của ma trận, người ta gán một số nguyên \(a_{i,j}\). Hãy tìm bảng vuông có diện tích lớn nhất có thể, sao cho tổng \(a_{ij}\) của các ô \((i,j)\) không vượt quá \(S\).
4 5 9
1 1 1 1 1
1 1 2 1 1
1 1 2 1 1
1 1 1 1 1
4
Chỉ còn vài ngày nữa thôi là đến ngày Phụ Nữ Việt Nam 20/10 rồi, người bố bèn hẹn \(n\) người con của mình tổ chức một bữa tiệc nhỏ ở nhà cho người mẹ.
Ta sẽ đánh số các ngày như sau, hôm nay là ngày \(0\), ngày mai là ngày \(1\), ..., sau ngày \(x\) đến ngày \(x+1\) (với mọi \(x > 0\)).
Các người con được đánh số từ \(1\) đến \(n\). Tại ngày \(0\) tất cả \(n\) người con đều đang bận, người con thứ \(i\) \((1 \leq i \leq n)\) sẽ rảnh tại các ngày được đánh số \(a_i\), \(2a_i\), \(3a_i\), \(\ldots\) Các ngày còn lại người con thứ \(i\) đều bận tất.
Tức là người con thứ \(i\) sẽ chỉ rảnh tại các ngày \(k \times a_i\) \((k > 0)\) là các bội khác \(0\) của \(a_i\).
Người bố hiểu rằng nếu khi tổ chức bữa tiệc tại ngày \(x\) \((x \geq 0)\) nào đó mà chỉ cần có một người con vắng mặt (không đến được vì ngày đó bận) thì người mẹ sẽ không vui. Người bố cần tìm ngày được đánh số \(F\) \((F \geq 0)\) là ngày được đánh số nhỏ nhất và tất cả các người con đều rảnh để tổ chức bữa tiệc.
Yêu cầu: Vì \(F\) có thể rất lớn nên chỉ cần đưa ra \(F \; \% \; ({10}^9 + 7)\).
Test 1
1
10
10
Test 2
5
2 3 5 7 11
2310
Test 3
4
2 14 12 10
420
Cho một dãy số gồm \(n\) số nguyên \(a_1, a_2, \ldots, a_n\). Với mỗi tập con khác rỗng \(S = (i_1, i_2, \ldots, i_k)\) \((0 < k \leq n, 1 \leq i_1 < i_2 < \ldots < i_k \leq n)\), gọi \(f(S)\) là số nguyên nhỏ nhất mà chia hết cho mọi \(a_{i_j}\) \((1 \leq j \leq k)\), tức là
Yêu cầu: Hãy tính \(R = \sum f(S)\) với tất cả mọi tập con \(S\) khác rỗng. Vì \(R\) có thể rất lớn nên chỉ cần đưa ra số dư của \(R\) khi chia cho \(10^9 + 7\).
Test 1
3
2
2 4
10
1 2 3 4 5 6 7 8 9 10
3
20 3 14
10
516031
699
Ví dụ đầu tiên, dãy có \(3\) tập con khác rỗng:
Tổng bcnn của các tập con là \(2 + 4 + 4 = 10\).
Cho một dãy \(a\) gồm \(n\) số nguyên dương. Số thứ \(i\) của dãy là \(a_i\). Mỗi thao tác ta có thể chọn một số của dãy \(a\) và cộng nó lên \(1\) hoặc trừ nó cho \(1\), sao cho các số của dãy vẫn nguyên dương. Một dãy được gọi là đẹp nếu ước chung lớn nhất của cả dãy khác \(1\).
Yêu cầu: Hãy tìm số thao tác ít nhất để làm cho dãy \(a\) đẹp.
Test 1
3
6 7 6
1
Trừ \(a_2\) cho \(1\) thì ước chung nhỏ nhất của cả dãy bằng \(6\).
Test 2
2
18 18
0
Dãy \(a\) ban đầu có ước chung nhỏ nhất của cả dãy bằng \(18\).