Thông tin
Sau đây là lời giải của Kỳ thi Tuyển sinh 10 trường THPT chuyên Lê Quý Đôn tỉnh Bà Rịa - Vũng Tàu năm học 2017 - 2018.
Bạn đọc có thể nộp và chấm bài (test tự sinh) TẠI ĐÂY.
Chuẩn bị bởi team Logica, thuộc khuôn khổ dự án The Algitect (ALGI Project)
Nhập vào số nguyên dương .
Yêu cầu: Tính kết quả các biểu thức sau:
Dữ liệu đảm bảo: .
Cho biến chạy vòng lặp từ đến , cộng vào kết quả.
Lưu ý
Để tránh số quá lớn, ta nên lấy và chia liên tục cho thay vì tính
Độ phức tạp thời gian: .
Cho biến chạy vòng lặp từ đến , cộng vào kết quả.
Độ phức tạp thời gian: .
Độ phức tạp thời gian của cả bài toán là tổng độ phức tạp thời gian của từng yêu cầu.
Nhập vào số nguyên dương và .
Yêu cầu:
Dữ liệu đảm bảo: và
Duyệt qua các số từ đến , kiểm tra tính nguyên tố của mỗi số bằng cách duyệt đến căn bậc hai của số đó để tìm ước.
Độ phức tạp thời gian: .
Duyệt qua các chữ số của để tìm chữ số chẵn lớn nhất. Có thể thực hiện bằng cách không ngừng lấy chữ số tận cùng của là , sau đó ta chia cho để xóa chữ số đó đi và tìm chữ số tiếp theo.
Độ phức tạp thời gian: .
Độ phức tạp thời gian của cả bài toán là tổng độ phức tạp thời gian của từng yêu cầu.
Cho dãy số nguyên gồm phần tử và số nguyên .
Yêu cầu:
Dữ liệu đảm bảo:
Nhận xét
Mà nguyên, do đó chia hết cho , hay .
Như vậy, ta duyệt qua dãy và in ra các số thỏa mãn điều kiện trên.
Độ phức tạp thời gian: .
Nhận xét
Dễ nhận thấy, hai số lớn nhất của dãy sẽ tạo ra tích lớn nhất.
Lưu ý: Hai số bé nhất (cùng âm), khi nhân vào sẽ tạo ra tích dương, và có thể lớn hơn tích của hai số lớn nhất.
Sắp xếp dãy tăng dần, ta có:
Đáp án: .
Độ phức tạp thời gian: do thao tác sắp xếp mảng.
Để giữ nguyên tính chất tăng dần của dãy, ta cần chèn vào giữa hai vị trí và sao cho .
Độ phức tạp thời gian: .
Nhận xét:
Chênh lệch giữa hai phần là lớn nhất khi một phần đạt tổng lớn nhất có thể và phần còn lại phải nhỏ nhất có thể.
Dễ dàng nhận thấy,
Có thể tìm nhanh tập các phần tử lớn nhất hoặc nhỏ nhát bằng cách sắp xếp lại dãy số. Để dễ thao tác, ta không thực sự chèn số vào, mà ta sẽ duyệt qua dãy và in ra các số, nếu đúng vị trí của ta sẽ in ra .
Lưu ý
Trường hợp lớn hơn tất cả các số trong dãy, ta phải thêm vào cuối.
Độ phức tạp thời gian: vì dãy đã được sắp xếp sẵn ở yêu cầu trước.
Độ phức tạp thời gian của cả bài toán là tổng độ phức tạp thời gian của từng yêu cầu.
Có cây xanh xếp thành một hàng thẳng, lần lượt cách cổng trường THPT chuyên Lê Quý Đôn . Bóng của chúng cũng thẳng hàng và bóng của cây thứ có chiều dài là .
Yêu cầu: Tính tổng chiều dài của các bóng cây phủ trên đường.
Lưu ý: Nếu có vùng bị phủ bóng bởi nhiều hơn một cây, chỉ xem vùng đó là một.
Dữ liệu đảm bảo: , và .
Mô hình hóa bài toán
Dễ thấy, cây thứ cho ta vùng bóng .
Với mỗi vùng tương ứng của từng cây, ta cộng tất cả phần tử trong khoảng lên .
Để cộng nhanh từng đoạn, ta áp dụng mảng hiệu.
Độ phức tạp thời gian: .