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 2016 - 2017.
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)
Cho số nguyên dương .
Yêu cầu:
Nếu chia hết cho thì chẵn, ngược lại lẻ. Sử dụng phép toán để kiểm tra.
Độ phức tạp thời gian:
Khởi gán . Duyệt qua mọi và cộng vào .
Độ phức tạp thời gian:
Khởi gán . Duyệt qua mọi và cộng vào .
Độ phức tạp thời gian:
Lưu ý: Vì bài toán liên quan đến số thực. Vậy nên cần sử dụng kiểu dữ liệu double hoặc long double để đảm bảo độ chính xá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.
Cho số nguyên dương và .
Yêu cầu:
Để tối giản , ta chia và cho .
C++ cung cấp sẵn hàm gcd()
để tìm UCLN của hai số.
Độ phức tạp thời gian:
Độ phức tạp của hàm
gcd()
trong C++ STL.
Tip
Số lượng số chia hết cho từ đến là:
Gọi là số lượng số chia hết cho trong đoạn . Khi này, .
Đáp án: %f(b) - f(a-1)$.
Độ 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 dương gồm phần tử .
Một số nguyên dương có dạng khi hay .
Nghĩa là .
Do đó, ta duyệt qua mọi phần tử và in ra các phần tử thỏa mãn điều kiện trên.
Độ phức tạp thời gian:
Gọi là giá trị lớn nhất của dãy.
Độ phức tạp thời gian:
Gọi là giá trị lớn nhất của dãy.
Độ 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 nguyên dương gồm phần tử .
Gọi là tổng các đồ vật từ đến và là tổng các đồ vật từ đến .
Yêu cầu: Tìm cách chia sao cho lớn nhất.
Áp dụng prefix sum (mảng cộng dồn) cơ bản.
Gọi (tổng số đầu tiên của mảng).
Khi này, ta có:
Duyệt qua mọi và tìm vị trí để lớn nhất.
Độ phức tạp thời gian: