AI Empire Academy
CHUYÊN ĐỀ C++ THỰC CHIẾN

Bài tập Tìm kiếm nhị phân & Chặt nhị phân kết quả trong C++

Giảm thời gian tìm kiếm từ O(N) xuống O(log N). Kỹ thuật chặt nhị phân kết quả là công cụ cực mạnh để giải quyết các bài toán tối ưu hóa phức tạp.

15

bài tập có chấm code

Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.

0

cơ bản

Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.

12

trung bình

Kết hợp nhiều bước suy luận để vận dụng kiến thức.

3

nâng cao

Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.

Lộ trình thực hành đề xuất

Bước 1

Cài đặt Binary Search

Cài đặt chính xác không bị lặp vô tận, kiểm tra mảng sắp xếp.

Bước 2

Hàm STL lower/upper_bound

Tìm vị trí đầu tiên hoặc cuối cùng của phần tử thỏa mãn điều kiện.

Bước 3

Chặt nhị phân kết quả

Kiểm tra tính đơn điệu của hàm điều kiện f(x) để tìm nghiệm tối ưu.

Lỗi thường gặp & Cách phòng tránh

•

Tính (low + high) / 2 có thể gây tràn số nguyên (cần viết low + (high - low) / 2).

•

Điều kiện dừng low <= high bị lặp vô hạn do cập nhật mid thay vì mid + 1 / mid - 1.

Danh sách bài tập thực hành (15 bài)

Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.

Trung bình 12 bài

Vận dụng

Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.

Kết hợp kỹ thuật

Phối hợp hai kỹ thuật trong cùng một lời giải.

cpp-203Bước 10Trung bình

Tìm Kiếm Nhị Phân Trên Mảng Đã Sắp Xếp

Tìm kiếm nhị phân (Binary Search) là một trong những thuật toán cơ bản và hiệu quả nhất trong lập trình thuật toán. Thuật toán hoạt động theo nguyên lý chia để trị (Divide and Conq…

Nâng cao 3 bài