Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
- 페이지 수
- 6
- 형식
- 크기
- 220 KB
- Trường
- Đại học Bách khoa Hà Nội
- 조회수
- 0
- 댓글
- 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.
- 문서명
- Applied Algorithms - Chapter 5.2 (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 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.
- 목차
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- 페이지 수
- 6 페이지
- 업로더
- lienhejb
설명
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
자주 묻는 질문
이 문서는 무료인가요?
네. “Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng” 문서는 무료입니다. 로그인 후 '다운로드'를 클릭하여 원본 파일을 받으세요.
이 문서는 몇 페이지로 되어 있나요?
이 문서는 6페이지입니다, Thuật toán ứng dụng 과정용. 다운로드하기 전에 온라인으로 미리 볼 수 있습니다.
다운로드하기 전에 미리 볼 수 있나요?
네. 이 페이지의 온라인 리더를 통해 문서를 미리 본 후 다운로드 여부를 결정할 수 있습니다.
Applied Algorithms - Chapter 5.2 (HUST) Thầy Phạm Quang Dũng
미리보기 생성 중...
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
- 문서명
- Applied Algorithms - Chapter 5.2 (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 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.
- 목차
- THUẬT TOÁN ỨNG DỤNG
- QUY HOẠCH ĐỘNG
- Range Minimum Query
- Bài toán Range Minimum Query
- RMQ
- 페이지 수
- 6 페이지
- 업로더
- lienhejb
댓글 (0)
댓글이 없습니다. 첫 댓글을 남겨보세요!
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)

댓글 (0)
댓글이 없습니다. 첫 댓글을 남겨보세요!