Vòng tay (THTB Vòng KVMB 2022)

Xem PDF

Điểm: 300 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bài 1: Vòng tay



Bình luận


  • 1
    dangluu2013    11:24 a.m. 27 Tháng 4, 2024 đã chỉnh sửa

    Mình xin phép trình bày editioral của mình cho bài này như sau:

    Sub1: Gọi là a
    a là tổng mã màu của m
    m hạt cườm. Vì phải chọn đúng m-1 hạt nên ta có thể sử dụng r(m)
    r(m) để kiểm tra: nếu a−z𝑖=aa−z i
    =a thì tăng biến đếm lên

    Sub2: Sử dụng quay lui bình thường, với mỗi lần quay phải kiểm tra 2
    2 điều kiện là phải chọn đúng b
    b hạt và tổng mã màu phải bằng a
    a

    Sub3: Kết hợp phân tập. Mình xin phép giải thích về cách làm này:

    Với cách làm này, ta sẽ chia đôi mảng làm 2
    2 phần chênh lệch nhỏ nhất có thể. VD mảng 5
    5 phần tử thì chia làm mảng 2
    2 và 3
    3 phần tử

    Với từng mảng thì ta sẽ quay lui rồi lưu kết quả thu được vào 1
    1 mảng

    Sau khi quay lui xong ta có thể áp dụng 1
    1 trong 2
    2 cách:

    Sắp xếp lại 2
    2 mảng rồi áp dụng chặt nhị phân hoặc hai con trỏ(cách này sẽ lâu hơn cách ở dưới)

    Giải trực tiếp khi thực hiện quay lui nửa mảng còn lại
    Do đây là lần đầu tiên mình làm editioral nên có sai sót gì thì các bạn giúp mình chứ đừng có downvote mình nha 🙁

    • 2 bình luận nữa