Professional Documents
Culture Documents
Cho 2 số nguyên dương 𝑚, 𝑛 (0 < 𝑚, 𝑛 < 103 ) và hai dãy số nguyên 𝐴: {𝑎1 , 𝑎2 , … , 𝑎𝑚 } và
𝐵: {𝑏1 , 𝑏2 , … , 𝑏𝑛 }. Tìm một dãy dài nhất là dãy con chung của hai dãy số 𝐴, 𝐵 nhận được từ 𝐴 bằng
cách xóa đi một số phần tử và cũng nhận được từ 𝐵 bằng cách xóa đi một số phần tử.
- Dòng đầu tiên ghi số lượng phần tử của dãy con chung dài nhất.
- Dòng thứ 2 ghi các phần tử của dãy con chung dài nhất tìm được.
Ví dụ:
LCS.INP LCS.OUT
6 7 2
2 1 8 3 5 3 1 5
9 4 1 5 7 6 2
Cho dãy số nguyên 𝐴: {𝑎1 , 𝑎2 , … , 𝑎𝑛 } gồm 𝑛 phần tử. Dãy số 𝐵 được sinh ra từ dãy 𝐴 theo qui tắc
như sau: ∀𝑖 = 1 … 𝑛, 1 ≤ 𝑏𝑖 ≤ 𝑎𝑖 . Ta định nghĩa mức hao phí sinh dãy 𝐵 từ dãy 𝐴 là
𝑛
- Với 𝑎1 = 1, ta có 1 ≤ 𝑏1 ≤ 1 nên 𝑏1 = 1
- Với 𝑎2 = 2, ta có 1 ≤ 𝑏2 ≤ 2 nên 𝑏2 = 1, 2
- Với 𝑎3 = 3, ta có 1 ≤ 𝑏3 ≤ 3 nên 𝑏3 = 1, 2, 3
- 𝐵: {1, 1, 1} và 𝑆 = 0
- 𝐵: {1, 2, 1} và 𝑆 = 2
- 𝐵: {1, 2, 2} và 𝑆 = 1
1
Xem hướng dẫn tại Tài Liệu Chuyên Tin Quyển 1 – Hồ Sĩ Đàm chủ biên
- 𝐵: {1, 2, 3} và 𝑆 = 2
Yêu cầu: Cho dãy số nguyên 𝐴, hãy tìm mức hao phí sinh dãy 𝐵 tương tứng.
Kết quả: Ghi ra file văn bản COST.OUT gồm duy nhất dòng chứa mức hao phí sinh dãy 𝐵
Ví dụ:
COST.INP COST.OUT
3 2
1 2 3
5 396
100 2 100 2 100
5 50
3 15 4 12 10
3 12
4 7 9
Cho 3 số nguyên 𝑛, 𝑘, 𝑥. Hãy tìm số cách sinh ra một mảng các số nguyên thỏa mãn các điều kiện
sau
- Các phần tử liên tiếp trong mảng phải khác nhau, mảng gồm 𝑛 phần tử
- Phần tử đầu tiên cuả mảng là 1 và phần tử cuối cùng là 𝑥
- Các phần tử của mảng phải có giá trị thuộc đoạn [1; 𝑘 ]
Dữ liệu: Vào từ file văn bản ARRAY.INP gồm duy nhất dòng chứa 3 số nguyên 𝑛, 𝑘, 𝑥 mỗi số ghi
cách nhau bởi khoảng trắng (1 ≤ 𝑛 ≤ 105 , 2 ≤ 𝑘 ≤ 105 , 1 ≤ 𝑥 ≤ 𝑘)
Kết quả: ghi ra file văn bản ARRAY.OUT gồm duy nhất dòng là số cách sinh mảng thỏa điều kiện
đề bài (kết quả lấy modulo 109 + 7)
Ví dụ:
ARRAY.INP ARRAY.OUT
4 3 2 3
Yêu cầu: Cho hai ma trận A, B. Hãy tính và in ra ma trận C là kết quả nhân A và B (1 ≤ 𝑚, 𝑛, 𝑝 ≤
102 )
Kết quả: Ghi ra file văn bản MATRIX.OUT gồm 𝑚 dòng là kết quả của phép toán nhân ma trận
nói trên.
Hình bên mô tả một tam giác có số hàng 𝑁 = 5. Đi từ đỉnh (số 7) đến đáy tam giác bằng một đường
gấp khúc, mỗi bước chỉ được đi từ số ở trên xuống một trong hai số đứng kề phải hay bên trái hàng
dưới và tính tích các số trên đường đi lại thành một tích.
7
3 8
8 1 0
2 7 4 4
4 5 -2 6 5
Yêu cầu: cho tam giác số, tìm tich của đường đi có tích lớn nhất.
Kết quả: Ghi ra file văn bản TGS.OUT có một số nguyên là tích lớn nhất tìm được.
Ví dụ:
TGS.INP TGS.OUT
5 5880
7
3 8
8 1 0
2 7 4 4
4 5 -2 6 5
Bài 62. Dãy con đơn điệu tăng dài nhất (Tên file LCS.*)
Cho dãy số nguyên 𝐴 = 𝑎1 , 𝑎2 , … , 𝑎𝑛 (𝑛 ≤ 103 , −104 ≤ 𝑎𝑖 ≤ 104 ). Một dãy con của 𝐴 là một
cách chọn ra trong 𝐴 một số phần tử giữ nguyên thứ tự. Như vậy 𝐴 có 2𝑛 dãy con.
Yêu cầu: Tìm dãy con đơn điệu tăng của 𝐴 có độ dài lớn nhất
- Dòng đầu tiên ghi số nguyên dương n là độ dài dãy ban đầu
- Dòng tiếp theo ghi n số nguyên 𝑎𝑖 , mỗi số ghi cách nhau bởi khoảng trắng.
Ví dụ: Dãy số nguyên 𝐴 = {1, 2, 3, 4, 9, 10, 5, 6, 7, 8}, dãy con đơn điệu tăng dài nhất là
{1, 2, 3, 4, 5, 6, 7, 8}
Dãy số nguyên 𝑎1 , 𝑎2 , … , 𝑎𝑛 được gọi là dãy lồi nếu nó tăng từ 𝑎1 đến 𝑎𝑖 nào đó rồi giảm dần đến
𝑎𝑛
Yêu cầu: Cho dãy số nguyên 𝑎1 , 𝑎2 , … , 𝑎𝑛 , bằng cách xóa đi một số phần tử của dãy và giữ nguyên
thứ tự các phần tử còn lại, ta nhận được dãy con lồi dài nhất.
2
Tham khảo hướng dẫn tại Tài liệu chuyên Tin học quyển 1, Hồ Sĩ Đàm - chủ biên
- Dòng đầu tiên ghi số nguyên dương 𝑛 là số phần tử của dãy (𝑛 ≤ 104 )
- Các dòng sau ghi 𝑛 số nguyên 𝑎1 , 𝑎2 , … , 𝑎𝑛 là các phần tử của dãy số. (|𝑎𝑖 | ≤ 109 )
Kết quả: Ghi ra file văn bản CSEQ.OUT gồm các dòng
- Dòng đầu tiên ghi số nguyên dương là số phần tử của dãy con tìm được
- Các dòng tiếp theo ghi các phần tử thuộc dãy tìm được.
Hướng dẫn:
- Tìm dãy con đơn điệu tăng từ 𝑎1 , 𝑎2 , … , 𝑎𝑛 . Gọi 𝐿𝑖 là độ dài dãy con đơn điệu tăng dài
nhất của dãy 𝑎1 , 𝑎2 , … , 𝑎𝑖
- Tìm dãy con đơn điệu tăng từ 𝑎𝑛 , 𝑎𝑛−1 , … , 𝑎𝑖 . Gọi 𝑅𝑖 là độ dài dãy con đơn điệu tăng
dài nhất của dãy 𝑎𝑛 , 𝑎𝑛−1 , … , 𝑎𝑖
- Độ dài dãy con lồi dài nhất là giá trị lớn nhất của 𝐿𝑖 + 𝑅𝑖 − 1