khoahoc.vietjack.com
Xin chào! Vào học

Câu hỏi:

11/07/2024 1,353 Lưu

Xét bài toán: Một hàng dọc gồm n bạn học sinh xếp theo thứ tự từ thấp đến cao, bạn thứ i (0 <i≤n − 1) có chiều cao là h (cm). Em hãy viết chương trình, với độ phức tạp O(nlog,n), sử dụng thuật toán tìm kiếm nhị phân để tính số cách chọn một cặp học sinh trong hàng sao cho chênh lệch chiều cao của hai bạn ấy bằng đúng giá trị d (cm) cho trước.

Dữ liệu: Nhập từ thiết bị vào chuẩn:

• Dòng đầu tiên chứa một dãy số nguyên dương hạ, h,,,h với đảm bảo h<h,,, (0 ≤i≤n- 1).

• Dòng thứ hai chứa một số nguyên dương d.

Kết quả: Hiển thị ở thiết bị ra chuẩn một số nguyên là số lượng cặp chỉ số (i, j) để h − h = d (0<i<j<n-1).

Xét bài toán: Một hàng dọc gồm n bạn học sinh xếp theo thứ tự từ thấp đến cao, bạn thứ i (0 <i≤n − 1) có chiều cao là h (cm).  (ảnh 1)

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Với mỗi chỉ số j, tồn tại tối đa một chỉ số i để h[j] – h[i] = d. Điều kiện h[j] - h[i] = d tương đương với h[i] = h[j] – d. Đặt h[j] – d = x, em có thê quy về bài toán tìm kiếm giá trị x trên dãy h. Sử dụng một biến kiểu boolean để ghi nhận kết quả tìm kiếm cho mỗi chỉ số j, em có thể tính tổng số lượng chỉ số j mà tồn tại i thoả mãn h[j] – h[i] = d, cũng chính là số cặp cần tìm.

Xét bài toán: Một hàng dọc gồm n bạn học sinh xếp theo thứ tự từ thấp đến cao, bạn thứ i (0 <i≤n − 1) có chiều cao là h (cm).  (ảnh 2)

Đang tải chế độ Học...

Dành cho bạn Hot

Lớp 11 Vật lý
197 người thi tuần này

Trắc nghiệm Mô tả sóng lớp 11 (có đáp án)

10 câu 6.3 K lượt thi Thi ngay →
Lớp 11 Hóa học
348 người thi tuần này

Trắc nghiệm Khái niệm về cân bằng hoá học lớp 11 (có đáp án - phần 1)

15 câu 10.2 K lượt thi Thi ngay →
Lớp 11 Tiếng Anh
142 người thi tuần này

Đề cương ôn tập giữa kì 1 Tiếng Anh 11 Global Success có đáp án

50 câu 1.2 K lượt thi Thi ngay →
Lớp 11 Sinh học
154 người thi tuần này

15 câu Trắc nghiệm Sinh học 11 Kết nối tri thức Bài 8 có đáp án

15 câu 3.2 K lượt thi Thi ngay →
Lớp 11 Lịch sử
1,460 người thi tuần này

25 câu Trắc nghiệm Lịch Sử 11 Kết nối tri thức Bài 1 có đáp án

25 câu 20.4 K lượt thi Thi ngay →
Lớp 11 Tin học
849 người thi tuần này

15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 1 có đáp án

15 câu 9.8 K lượt thi Thi ngay →
Lớp 11 Giáo dục Kinh tế và Pháp luật
166 người thi tuần này

16 câu Trắc nghiệm Kinh tế pháp luật 11 Kết nối tri thức Bài 2 có đáp án

16 câu 3.9 K lượt thi Thi ngay →

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Với một dãy chưa được sắp xếp theo thứ tự, ta không có đủ cơ sở để loại bỏ một nửa dãy số ra khỏi phạm vi tìm kiếm sau khi so sánh phần tử giữa với giá trị x cần tìm.

Lời giải

Với dãy a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] và khoá r = 1, thuật toán tìm kiếm tuần tự chỉ mất một lượt so sánh để tìm ra x trong dãy a, còn thuật toán tìm kiếm nhị phân phải mất ba lần chia đôi dãy mới thu hẹp được phạm vi tìm kiếm về phần tử 1 ở vị trí ngoài cùng bên trái của a.

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP