Người ta có thể giải quyết vấn đề quyết định trong thời gian .Ôi~( n A )
Hãy để cho chuỗi các con số được . Xác định F S là một tập hợp như vậy mà ( i , j ) ∈ F S iff có tồn tại một dãy con của S có độ dài j mà tiền để i . Nếu chúng tôi đã tính toán F S , sau đó chúng ta chỉ cần O ( n Một ) thêm thời gian để đi triệt F S để giải quyết vấn đề của bạn.SFS( I , j ) ∈ FSSjTôiFSÔ ( n A )FS
Nếu và S 2 là hai phân vùng S , thìS1S2S
FS= = FS1+ FS2
trong đó là tổng Minkowski, và bổ sung giữa các bộ được quy định phối hợp khôn ngoan.A + B = { a + b | một ∈ A , b ∈ B }
Khẳng định: Computing từ F S 1 và F S 2 mất ~ O ( | S | Một ) thời gian.FSFS1FS2Ôi~( | S| A)
Chứng minh: Áp dụng tích chập 2D trên hai bảng có kích thước .A × | S|
Thuật toán phân vùng chuỗi thành hai chuỗi có kích thước bằng nhau, áp dụng đệ quy cho từng chuỗi và lấy tổng chồn của kết quả. Đặt là thời gian chạy tệ nhất khi đầu vào của thuật toán có n phần tử và A là giới hạn trên của tổng. Chúng tôi có T Một ( n ) = 2 T Một ( n / 2 ) + Một ~ O ( n )
trong đó cho thấy T Một ( n ) = ~ O (TMột( n )nMột
TMột( n ) = 2 TMột( n / 2 ) + A O~( n )
.
TMột( n ) = O~( n A )
Các ẩn yếu tố là log n log n Một .đăng nhậpđăng nhậpnhật ký nn A