ĐỀ CƯƠNG CHI TIẾT KHÓA HỌC

- Cặp điểm gần nhau nhất.
- Bài toán có dạng constructive problem: sắp xếp lịch tập luyện của đội bóng sao cho hai người bất kì trong đội đều có ít nhất một lần đối đầu với nhau.
- Thay vì tìm số Fibonacci thứ N, tìm một số không phải là số Fibonacci thứ N.
- Xác định thời điểm mà màn hình máy tính bị hư nếu biết một số pixel trên màn hình đã bị hỏng.
- Phân tích số.
- Tháo lắp đĩa tạ khi thi thể hình.
- Mua sắm ở trung tâm thương mại.
- Kiểm tra lời đồn đoán rằng một chú voi to hơn thì thông minh hơn có đúng hay không.
- Chấm điểm một bài thi sắp xếp các sự kiện lịch sử.
- Sắp xếp xe trên một chuyến phà.
- Sắp xếp hành lí lên một chuyến taxi.
- Bộ trò chơi xếp gạch, búp bê Nga.
- Chiến lược phòng thủ của Starwars SDI.
- Chuỗi Palindrome dài nhất.
- Dãy con chung không liền kề dài nhất.

- Tìm phần tử lớn nhất trong mỗi mảng con kích thước K.
- Tìm mảng con ngắn nhất có tổng các phần tử lớn hơn bằng K.
- Tìm hình chữ nhật con chứa toàn số 1 có kích thước lớn nhất trong ma trận.
- Tìm kiếm vị trí xuất hiện của chuỗi T trong chuỗi S.
- Kiểm tra xâu đối xứng với độ phức tạp chỉ O(1) (chưa tính phần tiền xử lý).
- Đếm số lần xuất hiện của các tiền tố trong chuỗi.
- Tìm đoạn trùng nhau dài nhất của hậu tố chuỗi T và tiền tố chuỗi S.
Tìm hiểu về bảng thưa – một cấu trúc dữ liệu cho phép giải quyết các bài toán (truy vấn) theo dạng khoảng (range query) trên một tập dữ liệu cố định.
- Tìm độ dài cạnh của ma trận vuông con đối xứng lớn nhất.
- Tìm phần tử xuất hiện nhiều lần nhất trong đoạn từ L tới R trên mảng không giảm.
- Tìm ký tự mà con trỏ ở 2 đầu xâu đang chỉ đến sau các lần di chuyển.
- Giúp một nhà khoa học tìm chi phí ít nhất để mua enzyme sao cho mỗi giờ đều có enzyme để sử dụng, biết rằng chi phí để mua enzyme mỗi giờ là khác nhau, và enzyme không thể tồn tại quá h giờ.
Tìm hiểu về cấu trúc dữ liệu Cây phân đoạn, giúp giải quyết các bài toán trên dãy số có sự thay đổi và cập nhật thường xuyên.
Ứng dụng vào các bài toán như:
Tìm hiểu về cấu trúc dữ liệu Fenwick Tree (hay Binary Indexed Tree – BIT) – một cấu trúc dữ liệu được sử dụng rất phổ biến trong lập trình thi đấu.
Ứng dụng vào các bài toán như:
Tìm hiểu các thuật toán giải quyết bài toán Lowest Common Ancestor và cách áp dụng chúng vào các bài toán thực tế.
Ứng dụng vào các bài toán như:
