Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- 页数
- 6
- 格式
- 大小
- 201 KB
- Trường
- Đại học Bách khoa Hà Nội
- 浏览量
- 0
- 评论
- 0
- 下载次数
- 0
Tài liệu giảng dạy về cấu trúc dữ liệu Deque và ứng dụng của nó trong quy hoạch động, bao gồm định nghĩa, công thức và ví dụ code cụ thể.
常见问题
此文档免费吗?
是的。“Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng”是免费的 — 只需登录并点击“下载”即可获取原始文件。
这份文档有多少页?
该文档共有 6 页,适用于课程 Thuật toán ứng dụng。您可以在下载前进行在线预览。
我可以在下载前预览吗?
是的。您可以通过在线阅读器直接在本页面预览此文档,然后再决定是否下载。
- 文档名称
- Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- 作者(文档中)
- Phạm Quang Dũng
- 内容
- Tài liệu giới thiệu cấu trúc Deque và cách áp dụng nó để giải bài toán Quy hoạch động tìm dãy con có tổng cực đại với ràng buộc khoảng cách. Mã nguồn C++ minh họa cho giải pháp này cũng được cung cấp.
- 目录
- CẤU TRÚC DEQUE
- DEQUE
- Quy hoạch động sử dụng deque
- 页数
- 6 页
- 上传者
- lienhejb
正在生成预览...
描述
THUẬT TOÁN ỨNG DỤNG CẤU TRÚC DEQUE 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn DEQUE Cấu trúc dữ liệu tuyến tính có tính chất của cả ngăn xếp và hàng đợi: Thêm 1 phần tử vào cuối deque Lấy 1 phần tử ở đầu deque ra Lấy 1 phần tử ở cuối deque ra Trong C++ Khai báo: deque<int> Phương thức: push_back(), push_front(), pop_front(), pop_back(), back(), front(), empty() 2 Quy hoạch động sử dụng deque Cho dãy a1, a2, …, an và 2 số nguyên dương L1 < L2. Hãy tìm dãy con 1 ≤ j1 < j2 < … < jk ≤ n sao cho L1 ≤ jq+1 jq ≤ i2 và , , …, có tổng cực đại 3 Quy hoạch động sử dụng deque Định nghĩa bài toán con S(i): tổng cực đại của dãy con của dãy a1, …, ai thỏa mãn đề bài mà phần tử cuối cùng là ai Công thức quy hoạch động S(i) = max(ai + S(j) | L1 ≤ i – j ≤ L2} 4 Quy hoạch động sử dụng deque Định nghĩa bài toán con S(i): tổng cực đại của dãy con của dãy a1, …, ai thỏa mãn đề bài mà phần tử cuối cùng là ai Công thức quy hoạch động S(i) = max(ai + S(j) | L1 ≤ i – j ≤ L2} Khởi tạo deque, lưu trữ các chỉ số j sao cho S(j) không tăng và là ứng cử viên để tính toán các bài toán con S(i) Mỗi khi xét đến chỉ số i (i = 1,…, n) thì Đưa hết các chỉ số j ở đầu deque tại đó j < i – L2 ra ngoài (vì nó ko là ứng cử viên để xác định S(i), S(i+1),…) Đưa hết các chỉ số j ở cuối deque tại đó S(j) < S(i-L1) (do những chỉ số j như vậy không có ý nghĩa nữa trong việc xác định S(i), S(i+1),… 5 Quy hoạch động sử dụng deque #include <bits/stdc++.h> for(int i = 1; i <= n; i++){ using namespace std; while(!q.empty() && (q.front() < i - L2)) const int N = 1e6+1; q.pop_front(); int a[N], S[N]; if(i - L1 >= 1){ int n,L1,L2,ans; while(!q.empty() && S[q.back()] < int main(){ S[i- L1]) ios_base::sync_wi
Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
正在生成预览...
THUẬT TOÁN ỨNG DỤNG CẤU TRÚC DEQUE 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn DEQUE Cấu trúc dữ liệu tuyến tính có tính chất của cả ngăn xếp và hàng đợi: Thêm 1 phần tử vào cuối deque Lấy 1 phần tử ở đầu deque ra Lấy 1 phần tử ở cuối deque ra Trong C++ Khai báo: deque<int> Phương thức: push_back(), push_front(), pop_front(), pop_back(), back(), front(), empty() 2 Quy hoạch động sử dụng deque Cho dãy a1, a2, …, an và 2 số nguyên dương L1 < L2. Hãy tìm dãy con 1 ≤ j1 < j2 < … < jk ≤ n sao cho L1 ≤ jq+1 jq ≤ i2 và , , …, có tổng cực đại 3 Quy hoạch động sử dụng deque Định nghĩa bài toán con S(i): tổng cực đại của dãy con của dãy a1, …, ai thỏa mãn đề bài mà phần tử cuối cùng là ai Công thức quy hoạch động S(i) = max(ai + S(j) | L1 ≤ i – j ≤ L2} 4 Quy hoạch động sử dụng deque Định nghĩa bài toán con S(i): tổng cực đại của dãy con của dãy a1, …, ai thỏa mãn đề bài mà phần tử cuối cùng là ai Công thức quy hoạch động S(i) = max(ai + S(j) | L1 ≤ i – j ≤ L2} Khởi tạo deque, lưu trữ các chỉ số j sao cho S(j) không tăng và là ứng cử viên để tính toán các bài toán con S(i) Mỗi khi xét đến chỉ số i (i = 1,…, n) thì Đưa hết các chỉ số j ở đầu deque tại đó j < i – L2 ra ngoài (vì nó ko là ứng cử viên để xác định S(i), S(i+1),…) Đưa hết các chỉ số j ở cuối deque tại đó S(j) < S(i-L1) (do những chỉ số j như vậy không có ý nghĩa nữa trong việc xác định S(i), S(i+1),… 5 Quy hoạch động sử dụng deque #include <bits/stdc++.h> for(int i = 1; i <= n; i++){ using namespace std; while(!q.empty() && (q.front() < i - L2)) const int N = 1e6+1; q.pop_front(); int a[N], S[N]; if(i - L1 >= 1){ int n,L1,L2,ans; while(!q.empty() && S[q.back()] < int main(){ S[i- L1]) ios_base::sync_wi
阅读全文
- 文档名称
- Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- 作者(文档中)
- Phạm Quang Dũng
- 内容
- Tài liệu giới thiệu cấu trúc Deque và cách áp dụng nó để giải bài toán Quy hoạch động tìm dãy con có tổng cực đại với ràng buộc khoảng cách. Mã nguồn C++ minh họa cho giải pháp này cũng được cung cấp.
- 目录
- CẤU TRÚC DEQUE
- DEQUE
- Quy hoạch động sử dụng deque
- 页数
- 6 页
- 上传者
- lienhejb
评论 (0)
暂无评论。快来抢沙发吧!
Applied Algorithms - Chapter 2 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 6.1 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 4 (HUST) Thầy Phạm Quang Dũng
Applied Algorithms - Chapter 3 (HUST) Thầy Phạm Quang Dũng
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
评论 (0)
暂无评论。快来抢沙发吧!