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

Bài tập Mảng & Các kỹ thuật xử lý mảng tối ưu trong C++

Mảng là cấu trúc dữ liệu nền tảng nhất. Luyện tập các kỹ thuật tinh tế giúp giải quyết bài toán mảng lớn trong thời gian giới hạn 1 giây của hệ thống chấm bài.

26

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.

10

cơ bản

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

15

trung bình

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

1

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

Thao tác mảng căn bản

Nhập xuất mảng, tìm min/max, đếm phần tử thỏa mãn và chèn/xóa phần tử.

Bước 2

Mảng cộng dồn 1D & 2D

Xây dựng prefix sum giải bài toán tính tổng đoạn [L, R] và tổng hình chữ nhật con trong O(1).

Bước 3

Kỹ thuật Hai con trỏ

Xử lý cặp số, hợp hai mảng đã sắp xếp và loại bỏ phần tử trùng lặp trong O(N).

Bước 4

Cửa sổ trượt (Sliding Window)

Tìm đoạn con dài nhất hoặc ngắn nhất thỏa mãn điều kiện tổng/phần tử phân biệt.

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

•

Lỗi tràn bộ nhớ mảng tĩnh cục bộ trên stack (cần khai báo mảng kích thước lớn ở vùng toàn cục global).

•

Lỗi truy xuất ngoài biên mảng (Out of bounds) khi tính prefix[i] với chỉ số 0.

Danh sách bài tập thực hành (26 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.

Cơ bản 10 bài

Khởi động

Nhập xuất, biến, rẽ nhánh và các bước suy luận đơn giản.

cpp-276Bước 1Cơ bản

Trung bình cộng của mảng

Trung bình cộng là chỉ số thống kê cơ bản nhất, nhưng cũng là nơi hay sai định dạng đầu ra và sai kiểu phép chia. Trong C++, fixed và setprecision kiểm soát số chữ số thập phân.

Làm quen

Vòng lặp, mảng một chiều, chuỗi và hàm ở mức cơ bản.

Trung bình 15 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.

cpp-272Bước 4Trung bình

Tổng đường chéo chính của ma trận

Đường chéo chính là tập ô (i, i) của ma trận vuông — dữ liệu của vết ma trận, dùng trong đại số tuyến tính và phân tích ma trận hiệp phương sai.

cpp-273Bước 5Trung bình

Chuyển vị ma trận

Chuyển vị đổi hàng thành cột. Thao tác này xuất hiện trong nhân ma trận, đổi hệ trục toạ độ và trong học máy khi đổi tensor từ (H, W, C) sang (C, H, W).

Kết hợp kỹ thuật

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

Thành thạo

Bài dài hơn, cần chọn đúng cấu trúc dữ liệu.

cpp-007Bước 15Trung bình

Mảng cộng dồn và truy vấn đoạn con

Một máy chủ xử lý dữ liệu AI của AI Empire ghi nhận lượng gói tin xử lý trong N giây liên tiếp thành một dãy số nguyên không âm A1, A2, …, AN (0 ≤ Ai ≤ 109).

Nâng cao 1 bài