Tổng Quan về Khung Dữ Liệu Đơn Điệu trong Lập trình Thuật Toán
Mô tả các cấu trúc nền tảng
Để hiểu rõ về thuật toán này, trước hết cần nắm vững định nghĩa của hai cấu trúc dữ liệu cơ bản:
Ngăn xếp (Stack)
Ngăn xếp là một cấu trúc tuân thủ nghiêm ngặt quy tắc First In Last Out (FILO) hoặc Last In First Out (LIFO). Trong hệ thống thư viện tiêu chuẩn C++, nó được hỗ trợ bởi container `stack`.
Các thao tác ch ...
Đăng vào ngày 18 tháng 6 lúc 16:25
Kỹ thuật Hai Con trỏ và Ứng dụng trong Thuật toán
Tổng quan về kỹ thuật hai con trỏ
Kỹ thuật hai con trỏ (Two Pointers) là một phương pháp tối ưu hóa thuật toán hiệu quả, giúp giảm độ phức tạp thời gian trong nhiều bài toán. Thay vì sử dụng vòng lặp lồng nhau với độ phức tạp $O(n^2)$, ta sử dụng hai biến chỉ số (con trỏ) để duyệt qua cấu trúc dữ liệu, thường là mảng hoặc danh sách liên kết.
Cá ...
Đăng vào ngày 12 tháng 6 lúc 08:58
Kỷ niệm giải Lianqiao 2025 Python B
Tôi là người mới học lập trình, bài viết này chỉ nhằm ghi lại suy nghĩ và mã nguồn của tôi trong cuộc thi lần này. Mong các bạn có kinh nghiệm hơn góp ý nếu có sai sót.
Đề bài A: Số lần tấn công
Thực hiện mô phỏng đơn giản với giá trị hp ban đầu là 2025, tính toán theo quy tắc modulo cho từng nhân vật. Kết quả thu được là 103.
hp = 2025
round_ ...
Đăng vào ngày 30 tháng 5 lúc 06:55
Phân tích giải thuật bài toán Hệ số Binomial và Trò chơi thẻ bài
Phân tích bài toán hệ số Binomial biến thể
Trong bài toán này, chúng ta được cung cấp một đoạn mã giả lập cách tính một bảng tương tự như tam giác Pascal nhưng có quy luật thay đổi. Đề bài yêu cầu tính giá trị tại các vị trí $(n_i, k_i)$ dựa trên quy tắc tính toán đó.
Bằng cách thực hiện chạy thử (dry run) hoặc lập bảng giá trị nhỏ, ta có thể ...
Đăng vào ngày 26 tháng 5 lúc 13:01