Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- Pages
- 6
- Format
- Taille
- 220 KB
- Trường
- Đại học Bách khoa Hà Nội
- Vues
- 0
- Commentaires
- 0
- Lượt tải
- 0
Slide bài giảng về bài toán Range Minimum Query (RMQ) sử dụng kỹ thuật Quy Hoạch Động. Nội dung giới thiệu định nghĩa bài toán, công thức truy hồi, thuật toán preprocessing và truy vấn với độ phức tạp tối ưu.
Foire aux questions
Ce document est-il gratuit ?
Oui. « Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng » est gratuit — il suffit de vous connecter et de cliquer sur Télécharger pour obtenir le fichier original.
Combien de pages compte ce document ?
Le document contient 6 pages, pour le cours Thuật toán ứng dụng. Vous pouvez le prévisualiser en ligne avant de le télécharger.
Puis-je prévisualiser avant de télécharger ?
Oui. Vous pouvez prévisualiser ce document directement sur cette page avec le lecteur en ligne, puis décider de le télécharger ou non.
- Nom du document
- Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- École / Cours
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Auteur (dans le document)
- Phạm Quang Dũng
- Contenu
- Tài liệu giới thiệu bài toán Range Minimum Query (RMQ) và cách giải bằng Quy hoạch động. Nó định nghĩa bài toán, đưa ra công thức truy hồi và thuật toán tiền xử lý để xây dựng bảng lưu trữ kết quả, sau đó hướng dẫn cách truy vấn.
- Table des matières
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- Pages
- 6 pages
- Téléversé par
- lienhejb
Génération de l'aperçu...
Description
THUẬT TOÁN ỨNG DỤNG QUY HOẠCH ĐỘNG Range Minimum Query 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn Bài toán Range Minimum Query RMQ Cho dãy a[0], a[1], …, a[N-1]. Với mỗi bộ chỉ số 0 ≤ i < j ≤ N -1, hãy thực hiện truy vấn RMQ(i, j) tìm và trả về chỉ số của phần tử nhỏ nhất trong dãy con a[i], a[i+1],…, a[j]. 0 2 1 4 2 6 3 1 4 6 5 8 6 7 7 3 8 3 9 5 10 11 12 8 9 1 RMQ(1,7) = 3 RMQ(6,11) = 7 2 Bài toán Range Minimum Query RMQ Ký hiệu M[j, i] là chỉ số phần tử nhỏ nhất của dãy a[i], a[i+2],…, a[i+2j -1] (dãy bắt đầu từ chỉ số i và có độ dài là 2j). 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 4 6 1 6 8 7 3 3 5 8 9 1 2 6 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 3 3 4 6 7 8 8 9 10 12 12 13 15 2 3 3 3 3 7 8 8 8 8 12 12 12 12 3 3 3 3 3 8 12 12 12 12 4 12 Bài toán Range Minimum Query RMQ Bài toán con nhỏ nhất M[0,i] = i, i = 0,…, N-1 Công thức truy hồi M[j,i] = M[j-1,i] nếu a[M[j-1,i]] < a[M[j-1,i+2j-1] M[j-1,i+2j-1], ngược lại i i+2j-1 -1 i + 2j - 1 i + 2j-1 M[j-1,i + 2j-1] M[j-1,i] 4 M[j, i] Bài toán Range Minimum Query RMQ preprocessing(){ for (i = 0; i < N; i++) M[0,i] = i; for (j = 0; 2j ≤ N; j++){ for(i = 0; i + 2j -1 < N; i++){ if a[M[j-1,i]] < a[M[j-1,i+2j-1]] then{ M[j,i] = M[j-1,i]; }else{ M[j,i] = M[j-1,i+2j-1]; } } } } 5 Bài toán Range Minimum Query RMQ Truy vấn RMQ(i,j) k = [log(j-i+1)] RMQ(i,j) = M[k,i] nếu a[M[k,i]] ≤ a[M[k, j-2k+1]] M[k, j-2k+1]], ngược lại RMQ(4,14) = ? k = [log(14-4+1)]=3 a[7] > a[12] RMQ(4,14) = 12 6 M[3,7] = 12 0 1 2 3
Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
Génération de l'aperçu...
THUẬT TOÁN ỨNG DỤNG QUY HOẠCH ĐỘNG Range Minimum Query 1 Phạm Quang Dũng Bộ môn KHMT dungpq@soict.hust.edu.vn Bài toán Range Minimum Query RMQ Cho dãy a[0], a[1], …, a[N-1]. Với mỗi bộ chỉ số 0 ≤ i < j ≤ N -1, hãy thực hiện truy vấn RMQ(i, j) tìm và trả về chỉ số của phần tử nhỏ nhất trong dãy con a[i], a[i+1],…, a[j]. 0 2 1 4 2 6 3 1 4 6 5 8 6 7 7 3 8 3 9 5 10 11 12 8 9 1 RMQ(1,7) = 3 RMQ(6,11) = 7 2 Bài toán Range Minimum Query RMQ Ký hiệu M[j, i] là chỉ số phần tử nhỏ nhất của dãy a[i], a[i+2],…, a[i+2j -1] (dãy bắt đầu từ chỉ số i và có độ dài là 2j). 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 4 6 1 6 8 7 3 3 5 8 9 1 2 6 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 3 3 4 6 7 8 8 9 10 12 12 13 15 2 3 3 3 3 7 8 8 8 8 12 12 12 12 3 3 3 3 3 8 12 12 12 12 4 12 Bài toán Range Minimum Query RMQ Bài toán con nhỏ nhất M[0,i] = i, i = 0,…, N-1 Công thức truy hồi M[j,i] = M[j-1,i] nếu a[M[j-1,i]] < a[M[j-1,i+2j-1] M[j-1,i+2j-1], ngược lại i i+2j-1 -1 i + 2j - 1 i + 2j-1 M[j-1,i + 2j-1] M[j-1,i] 4 M[j, i] Bài toán Range Minimum Query RMQ preprocessing(){ for (i = 0; i < N; i++) M[0,i] = i; for (j = 0; 2j ≤ N; j++){ for(i = 0; i + 2j -1 < N; i++){ if a[M[j-1,i]] < a[M[j-1,i+2j-1]] then{ M[j,i] = M[j-1,i]; }else{ M[j,i] = M[j-1,i+2j-1]; } } } } 5 Bài toán Range Minimum Query RMQ Truy vấn RMQ(i,j) k = [log(j-i+1)] RMQ(i,j) = M[k,i] nếu a[M[k,i]] ≤ a[M[k, j-2k+1]] M[k, j-2k+1]], ngược lại RMQ(4,14) = ? k = [log(14-4+1)]=3 a[7] > a[12] RMQ(4,14) = 12 6 M[3,7] = 12 0 1 2 3
Lire le document entier
- Nom du document
- Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- École / Cours
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Auteur (dans le document)
- Phạm Quang Dũng
- Contenu
- Tài liệu giới thiệu bài toán Range Minimum Query (RMQ) và cách giải bằng Quy hoạch động. Nó định nghĩa bài toán, đưa ra công thức truy hồi và thuật toán tiền xử lý để xây dựng bảng lưu trữ kết quả, sau đó hướng dẫn cách truy vấn.
- Table des matières
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- Pages
- 6 pages
- Téléversé par
- lienhejb
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier !
Applied Algorithms - Chapter 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
Applied Algorithms - Chapter 6 (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)
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier !