Tìm dãy con gồm một hoặc một số phần tử liên tiếp của dãy đã cho với tổng các phần tử trong dãy là lớn nhất.. Dữ liệu: Vào từ tệp văn bản DAYCON.INP - Dòng đầu tiền chứa số nguyên dương
Trang 1ĐỀ ĐỀ XUẤT KÌ THI HSG CỤM LỚP 10 MÔN TIN HỌC
Bài 1: (6 điểm) DÃY CON
Cho dãy gồm số nguyên Tìm dãy con gồm một hoặc một số phần tử liên tiếp của dãy đã cho với tổng các phần tử trong dãy là lớn nhất
Dữ liệu: Vào từ tệp văn bản DAYCON.INP
- Dòng đầu tiền chứa số nguyên dương n (0<n<109)
- Dòng thứ 2 chứa số số nguyên
Kết quả: Ghi ra tệp văn bản DAYCON.OUT một số duy nhất là tổng các phần tử
của dãy con tìm được
Ví dụ:
8
12 -14 1 23 -6 22 -34 13
40
Bài 2: (7 điểm) ĐẢO DÃY SỐ
Có N số nguyên, mỗi số có trị tuyệt đối < 2.109 Ta cần tìm một cách sắp xếp N số đó sao cho tổng cực đại của các cặp số cạnh nhau là nhỏ nhất
Dữ liệu: Vào từ tệp văn bản DAODAY.INP:
Dòng đầu tiên chứa số nguyên N ( 2 ≤ N ≤ 100 000),
Dòng thứ hai chứa N số của dãy số trong dãy ban đầu
Kết quả: Đưa ra tệp văn bản DAYDAO.OUT:
Dòng đầu tiên chứa tổng cực đại của các cặp số cạnh nhau tìm được
Dòng thứ hai chứa N số của dãy ban đầu nhưng theo thứ tự sắp xếp tìm được
Ví dụ:
4
2 3 9 17
19
17 2 3 9
Bài 3: (7 điểm) Đường hầm
Theo quy định, các xe ô tô đi trong đường hầm là không được vượt nhau Để kiểm soát chặt chẽ việc chấp hành luật giao thông trong đường hầm người quản
lí đặt camera theo dõi ghi nhận biển số xe ô tô vào và ra, sau đó thông tin truyền tới trạm kiểm soát Thông tin được truyền theo từng gói tin, mỗi gói tin chứa N bản ghi biển số xe (1 ≤ N ≤ 1 000), mỗi bản ghi biển số xe là một xâu gồm 6 ký
tự bao gồm 2 chữ cái la tinh in hoa và 4 ký tự số từ 0 đến 9 Dựa vào từng cặp gói tin về xe vào và ra khỏi đường hầm người ta có thể xác định chính xác các
xe phạm luật (không có xe nào dừng lại trong đường hầm) Yêu cầu: Dựa vào cặp gói tin biển số xe vào và ra, xác định những xe phạm luật
Trang 2Dữ liệu vào: Vào từ tệp văn bản HAM.INP, có khuôn dạng:
+ Dòng đầu tiên chứa số nguyên N,
+ N dòng tiếp theo: mỗi dòng chứa một xâu ký tự xác định một biển số xe, trình tự xuất hiện là trình tự xe vào hầm
+ N dòng cuối: mỗi dòng chứa một xâu ký tự xác định một biển số xe, trình
tự xuất hiện là trình tự xe ra khỏi hầm
Dữ liệu ra: Đưa ra tệp văn bản HAM.OUT, có khuôn dạng:
+ Dòng đầu tiên chứa số nguyên M - số xe phạm luật
+ M dòng sau: mỗi dòng chứa một biển số xe phạm luật theo trình tự ra khỏi hầm của các xe đó
Ví dụ:
4 ZG5080 RI6040 ZG2068 ZG2322 RI6040 ZG2322 ZG5080 ZG2068
2 RI6040 ZG2322
Trang 3Hướng dẫn, đề xuất giải thuật:
Bài 1: (6,0 điểm) DÃY CON
- Cách chậm O(n3): Tính tổng các số từ ai đến aj (với mọi giá trị i<=j)
- Tính trước O(n2) : Ti là tổng các số từ a1 đến ai
- Cách nhanh O(n):
+ Gọi Ti tổng tốt nhất các số liền kề trước với ai
+ Xét đến số thứ i: Nếu Ti-1 >0 thì Ti=Ti-1+ai
không thì Ti=ai
In ra max ( T )
Bài 2: (7 điểm) Đảo dãy số
- Chỉ yêu cầu đơn giản đối với thí sinh
- Sắp xếp dãy số
- xếp lại: lớn nhất cạnh nhỏ nhất, và tiếp tục
- Chú ý tình huống số lượng số là lẻ;
ví dụ test: 1 20 31 40 49 50 51
1 51 20 50 31 49 40
51 1 50 20 49 31 40
Bài 3: Đường hầm
Hướng giải quyết
+ Nhập dữ liệu vào mảng V, R
+ J=0
+ Duyệt theo mảng V
Với mỗi I (I=1 N), tìm K sao cho RK=VI Nếu K>J+1 thì đưa ra các xe phạm luật: VL mà J<L<K,
J=K