Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- Pages
- 6
- Format
- Size
- 201 KB
- Trường
- Đại học Bách khoa Hà Nội
- Views
- 0
- Comments
- 0
- Lượt tải
- 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ể.
Frequently asked questions
Is this document free?
Yes. “Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng” is free — just sign in and click Download to get the original file.
How many pages is this document?
The document has 6 pages, for the course Thuật toán ứng dụng. You can preview it online before downloading.
Can I preview before downloading?
Yes. You can preview this document right on this page with the online reader, then decide whether to download.
- Document name
- Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- School / Course
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Author (in document)
- Phạm Quang Dũng
- Content
- 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.
- Table of contents
- CẤU TRÚC DEQUE
- DEQUE
- Quy hoạch động sử dụng deque
- Pages
- 6 pages
- Uploaded by
- lienhejb
Generating preview...
Description
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
Generating preview...
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
Read full document
- Document name
- Applied Algorithms - Chapter 5.1 (HUST) Thầy Phạm Quang Dũng
- School / Course
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Author (in document)
- Phạm Quang Dũng
- Content
- 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.
- Table of contents
- CẤU TRÚC DEQUE
- DEQUE
- Quy hoạch động sử dụng deque
- Pages
- 6 pages
- Uploaded by
- lienhejb
Comments (0)
No comments yet. Be the first!
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)
Comments (0)
No comments yet. Be the first!