Đếm số từ trong câu
Đếm từ là bước đầu của phân tích văn bản và kiểm tra giới hạn nội dung. Văn bản thật thường có nhiều khoảng trắng liên tiếp và khoảng trắng ở hai đầu, nên cách tách từ phải chịu đư…

Luyện tập các phương thức của lớp std::string và các thuật toán so khớp mẫu kinh điển giúp giải quyết các bài toán chuỗi lớn với độ phức tạp tuyến tính O(N).
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.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
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.
Đọc xâu với getline, nối xâu, so sánh và các phương thức substr, find, size.
Dùng mảng int count[256] để đếm ký tự trong thời gian O(N) và bộ nhớ O(1).
Kiểm tra palindrome, nén xâu RLE và đảo ngược các từ trong câu.
So khớp chuỗi con và tìm kiếm xâu con lặp lại dài nhất trong thời gian kỳ vọng O(N).
Dùng cin >> s thay vì getline(cin, s) khi chuỗi đầu vào có chứa khoảng trắng.
Trôi lệnh khi dùng getline ngay sau khi đọc số bằng cin (quên cin.ignore()).
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.
Nhập xuất, biến, rẽ nhánh và các bước suy luận đơn giản.
Đếm từ là bước đầu của phân tích văn bản và kiểm tra giới hạn nội dung. Văn bản thật thường có nhiều khoảng trắng liên tiếp và khoảng trắng ở hai đầu, nên cách tách từ phải chịu đư…
Tìm cực trị kèm quy tắc hoà giải rất phổ biến: khi nhiều từ cùng độ dài, phải chọn từ xuất hiện trước. Đây là ví dụ điển hình cho việc chọn đúng toán tử so sánh.
Hai chuỗi là đảo chữ khi chúng có cùng đa tập ký tự — giống nhau về ký tự và số lần xuất hiện, chỉ khác thứ tự. Mảng đếm 26 phần tử cho lời giải O(L).
Mã Caesar dịch mỗi chữ cái đi k vị trí trong bảng chữ cái và quay vòng khi vượt z. Đây là bài nhập môn số học modulo trên ký tự và là bước đệm hiểu mã thay thế, ROT13.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
Vòng lặp, mảng một chiều, chuỗi và hàm ở mức cơ bản.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
In kết quả công thức trong tên bài.
In kết quả xử lý chuỗi.
In kết quả xử lý chuỗi.
Cổng thông tin tuyển sinh trực tuyến của AI Empire Academy tiếp nhận hồ sơ học viên với họ tên viết dưới dạng xâu ký tự thô (gồm các chữ cái tiếng Anh/tiếng Việt không dấu a-z, A-Z…
Cho một chuỗi ký tự S gồm các từ được phân cách bởi một hoặc nhiều dấu cách.
Cho hai chuỗi ký tự S và T chỉ chứa các chữ cái tiếng Anh in thường ('a' đến 'z').
Thuật toán chuyên sâu: quy hoạch động, đồ thị, cây.
Cho một xâu S gồm N chữ cái tiếng Anh in thường.
Cho một xâu ký tự S gồm N chữ cái thường tiếng Anh ('a' đến 'z'). Hãy tìm độ dài của xâu con liên tiếp đối xứng (Palindrome) dài nhất trong S.
Cho một xâu ký tự S gồm N chữ cái thường tiếng Anh ('a' đến 'z'). Hãy tính mảng Z của xâu S, với quy ước Z[0] = 0.
Cho một văn bản T gồm N chữ cái tiếng Anh in thường.
Trong công cụ kiểm duyệt và phát hiện đạo văn tại AI Empire Academy, hệ thống cần tìm kiếm sự xuất hiện của một đoạn mã mẫu P (Pattern) bên trong văn bản mã nguồn lớn T (Text). Với…
Cấu trúc dữ liệu nâng cao và nhiều bước chứng minh.
Bộ máy gợi ý thông minh (Auto-complete Search) của AI Empire Academy cần tối ưu hóa tốc độ phản hồi khi học viên tìm kiếm thuật toán. Bạn được giao xây dựng cấu trúc Cây tiền tố (T…
Cho một xâu ký tự S gồm N chữ cái thường tiếng Anh ('a' đến 'z'). Hãy xây dựng:
Hệ thống kiểm duyệt nội dung của AI Empire Academy cần tìm kiếm sự xuất hiện của K từ khóa mẫu P1, P2, …, PK bên trong một đoạn văn bản T.
Cho một xâu ký tự S gồm N chữ cái thường tiếng Anh ('a' đến 'z'). Hãy đếm số lượng xâu con liên tiếp phân biệt (Distinct Substrings) xuất hiện trong S.
Cho K xâu ký tự S1, S2, …, SK chỉ gồm các chữ cái tiếng Anh in thường.