Giải quyết các bài toán về mã Gray, cây ngoặc và tối ưu hóa quy hoạch động
Xây dựng mã Gray từ số nguyên
Mã Gray là một hệ thống mã hóa nhị phân mà hai giá trị liên tiếp chỉ khác nhau một bit. Để chuyển đổi một số nguyên $k$ sang mã Gray tương ứng, chúng ta sử dụng công thức dựa trên phép toán bitwise: $G(k) = k \oplus \lfloor \frac{k}{2} \rfloor$. Trong bài toán yêu cầu in ra mã Gray $n$ bit của số thứ $k$, ta có thể ...
Đăng vào ngày 21 tháng 7 lúc 21:26
Kỹ Thuật Tối Ưu Hóa Quy Hoạch Động Trong Bài Toán Xách Túi
Thiết Lập Ký Hiệu
Để đảm bảo tính thống nhất trong các phần phân tích dưới đây, chúng ta định nghĩa các biến như sau:
n: Tổng số nhóm hoặc loại vật phẩm.
C: Giới hạn dung tích của túi (sức chứa).
weight[i]: Khối lượng tiêu hao của vật phẩm loại i.
value[i]: Giá trị thu được khi lấy vật phẩm loại i.
quantity[i]: Số lượng vật phẩm loại i có thể ...
Đăng vào ngày 21 tháng 6 lúc 18:47
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