Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- Seiten
- 6
- Định dạng
- Dung lượng
- 220 KB
- Trường
- Đại học Bách khoa Hà Nội
- Aufrufe
- 0
- Kommentare
- 0
- Lượt tải
- 0
Vorschau wird generiert...
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.
- Dokumentenname
- Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Autor (im Dokument)
- Phạm Quang Dũng
- Inhalt
- 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.
- Inhaltsverzeichnis
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- Seiten
- 6 Seiten
- Hochgeladen von
- lienhejb
Beschreibung
Trích nội dung tài liệ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
Häufig gestellte Fragen
Ist dieses Dokument kostenlos?
Ja. „Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng“ ist kostenlos — melden Sie sich einfach an und klicken Sie auf Herunterladen, um die Originaldatei zu erhalten.
Wie viele Seiten hat dieses Dokument?
Das Dokument hat 6 Seiten, für den Kurs Thuật toán ứng dụng. Sie können es vor dem Herunterladen online in der Vorschau ansehen.
Kann ich vor dem Herunterladen eine Vorschau ansehen?
Ja. Sie können sich dieses Dokument direkt auf dieser Seite im Online-Reader ansehen und dann entscheiden, ob Sie es herunterladen möchten.
Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
Vorschau wird generiert...
Trích nội dung tài liệ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
- Dokumentenname
- Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Thuật toán ứng dụng
- Autor (im Dokument)
- Phạm Quang Dũng
- Inhalt
- 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.
- Inhaltsverzeichnis
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- Seiten
- 6 Seiten
- Hochgeladen von
- lienhejb
Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!
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)

Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!