Vấn đề tương đương tiền tố có thể được định nghĩa như sau. Bạn được cung cấp một chuỗi có độ dài n và ban đầu mỗi ký tự là 0 . Sau đó, bạn muốn xây dựng một cấu trúc dữ liệu có thể hỗ trợ các bản cập nhật như sau.
- Đối với một số đã cho, thay đổi S [ i ] thành 0 hoặc 1
- cho một tìm được tính chẵn lẻ của S [ 1 ] + S [ 2 ] + . . . + S [ i ] .
Từ đỉnh đầu của tôi, có một giải pháp có thể hỗ trợ các loại truy vấn này trong thời gian , trong khi chỉ sử dụng không gian tuyến tính và thời gian tiền xử lý tuyến tính để xây dựng cấu trúc dữ liệu. Ý tưởng là xây dựng một cây tìm kiếm nhị phân hoàn chỉnh trên đầu chuỗi nơi các lá tương ứng với các ký tự riêng lẻ của S và trong mỗi nút bên trong, chúng ta lưu trữ tổng của tất cả các ký tự là các lá trong cây phụ được xác định bởi nút đó. Bằng cách này, chúng tôi có thể hỗ trợ tầm thường cho cả hai bản cập nhật trong thời gian O ( log n ) .
Tuy nhiên, tôi đã tìm thấy một bài báo chứng minh giới hạn thấp hơn cho vấn đề này, nói rằng bạn không thể làm tốt hơn cho các bản cập nhật và tôi cũng tìm thấy bài báo sauhttp://link.springer.com/ch CHƯƠNG / 10.1007% 2F3-540-51542-9_5vàliên kếttrực tiếptới pdf, đưa ra thuật toán đạt được điều đó ràng buộc, do đó là tối ưu.
Tôi muốn hiểu thuật toán này tuy nhiên phần giải thích giống như 1 trang và rất nhiều chi tiết bị thiếu.
Vì vậy, tôi đã tự hỏi nếu có bất kỳ nguồn nào khác về vấn đề này, bởi vì tôi thấy rất khó để tìm thấy bất kỳ, hoặc đây là nguồn duy nhất có sẵn?
cảm ơn bạn trước