Đề thi Giữa kỳ môn Thuật toán ứng dụng - Đại học Bách khoa Hà Nội

Thi giữa kỳ THUẬT TOÁN ỨNG DỤNG  
Đại học Bách Khoa Hà Nội, 28/11/2020  
LƯU Ý  
Nộp bài tại: 202.191.56.248:18888/Test  
Trong tất cả các bài:  
• Dữ liệu vào từ thiết bị vào chuẩn (stdin)  
• Kết quả ghi ra thiết bị ra chuẩn (stdout)  
• Bộ test thử nghiệm offline được cho đính kèm vào mỗi bài trên server.  
Mục lục  
RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
DINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
DIGITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
SEQMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
1
2
3
4
Bài 1. RUN  
Huyền đang có một dãy số nguyên a = a1, a2, . . . , an. Cô muốn cắt a thành các đoạn con gồm các phần tử liên  
tiếp của a, sao cho mỗi đoạn đều là một dãy tăng. Hãy giúp Huyền tính xem cô phải cắt a thành ít nhất bao nhiêu  
đoạn để thỏa mãn tính chất trên.  
Dữ liệu vào  
• Dòng đầu chứa số nguyên dương n (1 ≤ n ≤ 105)  
• Dòng tiếp theo chứa n số nguyên dương a1 a2 . . . an (0 ≤ ai ≤ 109)  
Kết quả  
Ghi một số nguyên duy nhất là số ít nhất các đoạn con tăng của a.  
Ví dụ  
test  
answer  
6
3
3 6 1 7 8 2  
Giải thích  
Dãy a được cắt thành (3,6), (1,7,8), (2)  
Trang 1 trên 4  
Thi giữa kỳ THUẬT TOÁN ỨNG DỤNG  
Đại học Bách Khoa Hà Nội, 28/11/2020  
Bài 2. DINO  
Khủng long kỳ thực không hề hung dữ như người ta vẫn tưởng, chúng rất thông minh và dễ bảo. Bạn là người  
trông giữ khủng long và có nhiệm vụ sắp xếp lại khủng long trong chuồng. Chuồng chỉ có một cửa ra vào, và chiều  
ngang hẹp chỉ vừa đủ cho một con khủng long di chuyển, vì thế con nào vào chuồng trước thì sẽ phải ra sau. Ở  
cạnh chuồng có một hành lang. Hành lang có một cửa vào và một cửa ra, và chiều ngang cũng vừa đủ cho một con  
khủng long di chuyển, nên con nào vào trước sẽ phải ra trước.  
Có n con khủng long, tất cả đều đang ở trong chuồng. Con khủng long thứ i (tính từ cửa chuồng vào trong) có số  
hiệu pi (p1, p2, . . . , pn là một hoán vị của {1, 2, . . . , n}). Để sắp xếp lại các con khủng long, bạn sẽ sử dụng đèn  
báo hiệu được lắp ở chuồng và hành lang. Khi bật đèn báo hiệu ở chuồng, nếu trong chuồng có khủng long thì một  
con khủng long trong chuồng sẽ đi sang hành lang. Khi bật đèn báo hiệu ở hành lang, nếu ở hành lang có khủng  
long thì một con khủng long ở hành lang sẽ đi vào chuồng. Rõ ràng là có thể sắp xếp lại khủng long chỉ sử dụng  
các thao tác bật đèn như trên. Tuy nhiên vì mải ngắm nhìn con khủng long yêu thích mà bạn đã quên mất công  
việc của mình. Lúc về nhà, bạn nhớ lại thứ tự ban đầu của các con khủng long và thứ tự bật đèn của mình. Bạn  
tự hỏi, sau những thao tác đó thì thứ tự hiện tại của các con khủng long trong chuồng sẽ như thế nào?  
Dữ liệu vào  
• Dòng đầu chứa số nguyên dương n (1 ≤ n ≤ 105)  
• Dòng tiếp theo chứa n số nguyên dương p1 p2 . . . pn  
• Dòng tiếp theo chứa một xâu s (1 ≤ |S| ≤ 106) gồm nhiều ký tự viết liền nhau, các ký tự C cho biết bạn  
bật đèn ở chuồng, các ký tự H cho biết bạn bật đèn ở hành lang. Lưu ý các đèn là đèn báo hiệu và sẽ tắt  
ngay sau khi được bật sáng. Các đèn được bật theo đúng trình tự trong xâu s  
Kết quả  
Ghi ra số hiệu của các con khủng long trong chuồng theo thứ tự từ cửa chuồng vào trong. Dữ liệu đảm bảo sau  
khi kết thúc, tất cả khủng long đều ở trong chuồng.  
Ví dụ  
test  
answer  
4
4 3 1 2  
3 1 4 2  
CCHCCHHH  
Hạn chế  
Có 25% test với |s| = 2n, si = C ∀i ≤ n, si = H ∀i > n  
Trang 2 trên 4  
Thi giữa kỳ THUẬT TOÁN ỨNG DỤNG  
Đại học Bách Khoa Hà Nội, 28/11/2020  
Bài 3. DIGITS  
Cho một số nguyên dương N. Hãy đếm số cách điền giá trị cho các ký tự H, U, S, T, O, I, C sao cho  
tổng số có 4 chữ số HUST và số có 5 chữ số SOICT bằng N: HUST + SOICT = N. Lưu ý, hai ký tự  
khác nhau phải nhận giá trị khác nhau.  
Dữ liệu vào  
Dữ liệu đầu vào có cấu trúc như sau:  
• Dòng 1 ghi số bộ dữ liệu test T (1 ≤ T ≤ 50)  
• Dòng i + 1 (i = 1, . . . , T) ghi giá trị N của bộ test thứ i  
Kết quả  
Trên mỗi dòng ghi ra kết quả của bộ dữ liệu test tương ứng.  
Ví dụ  
test  
answer  
5
10  
0
16  
8
17868  
29119  
49862  
78952  
1000002  
0
Trang 3 trên 4  
Thi giữa kỳ THUẬT TOÁN ỨNG DỤNG  
Đại học Bách Khoa Hà Nội, 28/11/2020  
Bài 4. SEQMX  
Cho dãy số nguyên a: a1, a2, ... , an và một số nguyên dương k. Hãy tìm một đoạn con của a, có ít nhất k phần  
tử và có trung bình cộng lớn nhất có thể.  
Dữ liệu vào  
• Dòng đầu chứa hai số nguyên dương: n k  
• Dòng tiếp theo chứa dãy a: a1 a2 ... an  
Kết quả  
Ghi trung bình cộng lớn nhất tìm được, quy tròn đến số thập phân thứ năm (định dạng “%.5lf”)  
Ví dụ  
test  
answer  
7 3  
3.66667  
2 4 5 1 3 4 1  
Hạn chế  
• 1 ≤ k ≤ n ≤ 105, −105 ≤ ai ≤ 105  
• Có 50% số test với n ≤ 5000  
Trang 4 trên 4  
pdf 4 trang Thùy Anh 33920 Free
Bạn đang xem tài liệu "Đề thi Giữa kỳ môn Thuật toán ứng dụng - Đại học Bách khoa Hà Nội", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfde_thi_giua_ky_mon_thuat_toan_ung_dung_dai_hoc_bach_khoa_ha.pdf
  • ziptest-DIGITS.zip
  • ziptest-DINO.zip
  • ziptest-RUN.zip