| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Cây tre trăm đốt (TS10 LQĐ, Đà Nẵng 2023) | 150 (p) | 3.0s | 512M |
| 2 | Thưởng thức bánh ngọt (bản dễ) | 100 (p) | 1.0s | 500M |
| 3 | Dãy đèn (OLP MT&TN 2022 CT) | 200 (p) | 1.0s | 512M |
| 4 | Chia nhóm (THT C1, C2 & B Vòng KVMN 2022) | 200 (p) | 1.0s | 256M |
| 5 | Cân đĩa (THTB Vòng Sơ loại) | 300 (p) | 1.0s | 1G |
Anh Khoai được ông phú hộ hứa gả con gái với điều kiện làm việc không công cho ông ta mười năm và phải hoàn thành một nhiệm vụ ông ta giao cho. Sau mười năm làm việc anh Khoai tìm ông phú hộ để nhận nhiệm vụ cuối cùng. Vì không muốn gả con gái cho anh Khoai nên phú hộ yêu cầu anh mang về cho ông cây tre trăm đốt. Với sự giúp đỡ của ông bụt, anh Khoai đã mang về một trăm đốt tre cùng hai câu thần chú “khắc nhập” và “khắc xuất” để hoàn thành nhiệm vụ. Tuy nhiên, bằng cách nào đó ông phú hộ đã biết được sự việc và chuẩn bị sẵn rất nhiều đốt tre dài ngắn khác nhau và yêu cầu anh tạo thành cây tre có độ dài \(K\) từ những đốt tre đã có sẵn thì ông ta mới gả con gái cho.
Yêu cầu: Hãy giúp anh Khoai kiểm tra xem có bao nhiêu cách tạo ra cây tre có độ dài \(K\) từ những đốt tre đã có sẵn.
Đọc từ file văn bản TRE.INP có cấu trúc như sau:
Ghi ra file văn bản TRE.OUT một số duy nhất là số cách tạo thành cây tre có độ dài \(K\), chỉ cần in ra kết quả sau khi chia lấy dư cho \(10^9 + 7\).
Test 1
6 90
70 50 60 20 30 40
4
Một nhà hàng bánh ngọt có 3 loại bánh: bánh táo, bánh xoài và bánh răng. Loan muốn đặt trước n chiếc bánh. Vì cô là một khách hàng kỹ tính nên muốn bữa ăn của mình thõa mãn thêm 2 điều kiện: số lượng bánh táo phải chia hết cho 2 và số lượng bánh xoài phải chia hết cho 3.
Loan sẽ thưởng thức từng chiếc bánh một. Hai cách thưởng thức bánh được coi là khác nhau nếu như chiếc bánh thứ \(i\) \((1 \leq i \leq n)\) Loan ăn là hai chiếc bánh khác nhau.
Ví dụ:
Cách thưởng thức 1: Loan ăn 2 bánh táo, 1 bánh răng, 3 bánh xoài
Cách thưởng thức 2: Loan ăn 2 bánh táo, 3 bánh xoài, 1 bánh răng
Vậy hai cách thưởng thức trên là khác nhau vì chiếc bánh thứ 3 mà Loan ăn ở cách thứ nhất là bánh răng, còn ở cách thứ hai là bánh xoài.
Một số nguyên dương \(n\) \((1 \leq n \leq 10^6)\), là số lượng bánh Loan đặt
Số lượng cách thưởng thức bánh khác nhau của Loan. Vì đây là một số rất lớn nên chỉ cần in ra kết quả sao khi chia lấy dư cho \(10^9 + 7\).
3
5
10
9882
Ở ví dụ thứ nhất, có 5 cách thưởng thức thỏa mãn: (Bánh răng, Bánh răng, Bánh răng), (Bánh xoài, Bánh xoài, Bánh xoài), (Bánh táo, Bánh táo, Bánh răng), (Bánh răng, Bánh táo, Bánh táo), (Bánh táo, Bánh răng, Bánh táo).
Thuận có một dãy đèn gồm đèn, các đèn được đánh số từ \(1\) đến \(n\). Mỗi đèn có ba trạng thái, trạng thái sáng màu xanh hoặc sáng màu đỏ hoặc tắt. Ban đầu tất cả các đèn đều ở trạng thái tắt. Tương ứng với đèn thứ có công tắc thứ \(i (1 \le i \le n)\), khi tác động vào công tắc này trạng thái đèn thứ \(i\) sẽ thay đổi như sau:
Thuận đã thực hiện một dãy gồm \(t\) lần tác động vào các công tắc và nhận được dãy đèn gồm \(a\) đèn ở trạng thái sáng màu xanh và \(b\) đèn ở trạng thái sáng màu đỏ. Là người yêu thích Tin học, Thuận muốn tính xem có bao nhiêu dãy gồm đúng \(t\) thao tác để từ trạng thái ban đầu (tất cả các đèn ở trạng thái tắt), sau khi thực hiện dãy thao tác có \(a\) đèn ở trạng thái sáng màu xanh và \(b\) đèn ở trạng thái sáng màu đỏ.
Yêu cầu: Cho các số nguyên \(n, t, a, b\), gọi là số dãy gồm thao tác để từ trạng thái ban đầu nhận được dãy có \(a\) đèn ở trạng thái sáng màu xanh và \(b\) đèn ở trạng thái sáng màu đỏ. Hãy tính \(S \% (10^9 + 7)\), trong đó \(\%\) là phép toán chia lấy dư.
Vào từ thiết bị vào chuẩn gồm một dòng chứa bốn số nguyên \(n, t, a, b\) cách nhau bởi dấu cách \((0 \le a, b; a + b \le n)\);
Test 1
2 3 1 1
6
Sáu dãy gồm 3 thao tác (vào các công tắc) thỏa mãn:
1, 1, 2
1, 2, 1
1, 2, 2
2, 1, 1
2, 1, 2
2, 2, 1
Trong buổi giao lưu giữa các thí sinh của kì thi Tin học trẻ, có học sinh xếp thành một hàng, học sinh đứng thứ \(i(1 \leq i \leq n)\) đến từ tỉnh có mã là số nguyên \(c_i(1 \leq c_i \leq 63)\). Ban tổ chức muốn tách hàng để nhận được \(g\) nhóm học sinh tham gia một trò chơi. Cụ thể, Ban tổ chức cần chọn ra \(g - 1\) điểm cắt \(1 < k_1 < k_2 ... < k_{g-1} < n\), khi đó các bạn từ đầu hàng đến bạn đứng thứ \(k_1\) sẽ xếp vào nhóm thứ nhất, các bạn đứng thứ \(k_1 + 1\) đến \(k_2\) sẽ xếp vào nhóm thứ hai,..., bạn đứng thứ \(k_{g-1} + 1\) đến \(n\) xếp vào nhóm thứ \(g\). Độ phong phú của một nhóm được tính bằng số lượng tỉnh khác nhau của học sinh trong nhóm. Để các thí sinh có nhiều cơ hội giao lưu với nhau, Ban tổ chức muốn tìm cách tách hàng \(g\) thành nhóm để tổng độ phong phú của \(g\) nhóm là lớn nhất.
Yêu cầu: Cho dãy số nguyên dương \(c_1, c_2, ..., c_n\) và số nguyên dương \(g\), hãy tìm cách tách hàng thành \(g\) nhóm để tổng độ phong phú của nhóm là lớn nhất.
Test 1
5 2
1 2 1 3 3
4
Cho một cân hai đĩa và \(n\) quả cân có khối lượng đôi một khác nhau \(w_1, w_2, . . , w_n\). Tiến hành đặt lần
lượt từng quả cân lên một trong hai đĩa của cân và đảm bảo rằng tổng khối lượng bên trái luôn nhỏ
hơn hoặc bằng tổng khối lượng bên phải.
Yêu cầu: Cho \(n\) quả cân có khối lượng \(w_1, w_2, . . , w_n\), hãy đếm số cách xếp \(n\) quả cân thỏa mãn.
Hai cách được gọi là khác nhau nếu thứ tự xếp các quả cân khác nhau hoặc tồn tại một quả cân nằm
ở đĩa khác nhau.
Vào từ thiết bị vào chuẩn có khuôn dạng:
Test 1
2
1 2
3
Ở ví dụ bên trái, có 8 cách sắp xếp các quả cân lên hai bàn cân như sau:
Test 2
3
10 11 12
15