B ià1.àMậtàđộàgiaồthơ g Bài tốn: Cho d1, d2, , dn (1 ≤ n ≤ 106) Yêu cầu: Tìm min{|di – dj|} i ≠ j Giải thuật: Với C++: nên nhập a0, a1, , an-1, Sắp xếp: sort(a,a+n); Tìm min{di-di-1}, i = ÷ n-1 Độ phức tạp giải thuật: O(nlogn) BÀI NÉM ĐÁ Bài toán: Cho m số nguyên kiểu byte v0, v1, , vm-1, ghi thành mảng bytes liên tiếp, Có n phép khởi tạo giá trị cho bit từ bít p byte c đến bit q byte d, Yêu cầu: với khoảng bít số k khoảng cho theo quy xác định có chứa bit hay không BÀI NÉM ĐÁ Giải thuật: Xét mảng chứa vi mảng bit, Xây dựng mảng f[8000000], fi – giá trị bit thứ i, i =1 ÷ 8*n, Tuyến tính hóa địa đầu cuối khoảng: (c, p) →à * + -p BÀI NÉM ĐÁ (ci, pi), (di, qi) → (li, ri), Sắp xếp {(li, ri)} giảm dần theo ri pf – vị trí cuối dãy f, pf = 8*n, Với cặp (li, ri)}, i = ÷ n: pf Khơ gàphảiàl àgì! li ri · pf = li, · Chỉ hàlýàpfàsa gàtr iàđế ità gầ hất · fj=0, j=ri ÷ li · Chỉ hàlýàpfàsa gàtr iàđế ità gầ hất · fj=0, j=pf ÷ li, · pf = li, BÀI NÉM ĐÁ Tính hàm tích lũy: tf0 = f0, tfi = tfi-1+ fi, i = ÷ n-1 Với yêu cầu tra cứu: (c p d q) → (u, v), Nếu tfu = tfv → PASS, ngược lại – YES Độ phức tạp giải thuật: max {O(m), O(nlogn)} Bài NÉM TAM ĐÁ SAO THẤT BỔN BÀI Bài toán: Cho dãy số a1, a2, , an, |ai| ≤ n, i = ÷ n, Tính hàm tích lũy: r1 – số nhóm bốn (ai1, ai2, ai3, ai4) thỏa mãn: =f 0, ai2,tra ai3 ai4 Tính (lj, rj) tương ứng, r2 – số nhóm bốn (ai1, ai2, ai3, ai4) thỏa mãn: → PáSS,à gượ àlại:àYES i1Nếu < i2tflj< =i3tf 0, aphức giải thuật: max{O(m), O(nlogn)} i1 > ai4tạp Độ Yêu cầu: tính r = r1 + r2 Bài NÉM TAM ĐÁ SAO THẤT BỔN BÀI Giải thuật: Tính r1: Tính hàm tích lũy: • Tìm p – số phần tử dương dãy, = tf +fiđầu , i =tiờn ữtip 8*n-1 ã Chnh lýtfp0=f n phn ti-1õm theo, 0,tfi • Với Trong qu trình chỉnh p: nạp phần tử dương vào cầu tralýcứu: nhị phân (binomial tree), Tính (lj, rj) tương ứng, • Tìm q – số nhỏ phần tử âm thỏa mãn p < q, Nếu tflj = tfrj → PáSS,à gượ àlại:àYES - - - - - + + + - + - - - + + + - ++ - - + q p p Độ phức tạp giải thuật: max{O(m), O(nlogn)} • Với phần tử dương liên tiếp dãy: tính số nghịch với số tích lũy cộng dồn vào r1 Bài TAM SAO THẤT BỔN BÀInhật NÉM Cập p, q: ĐÁ Nạp > vào cây, p < i