Giải pháp:
Thông thường, khi phải xử lý các vấn đề có liên quan đến phép quay chuỗi, người ta sẽ thay
ghép các chuỗi với chính nó để đơn giản hóa các nhiệm vụ. Sau khi, trình tự tối thiểu của độ dài n được
yêu cầu. Như thứ tự của chúng được xác định bởi thứ tự của các hậu tố của chuỗi - mặc dù có một tuyến tính
giải pháp trình bày trong [10] - mảng hậu tố là một mánh lới quảng cáo dễ dàng mà có thể giải quyết vấn đề ngay lập tức.
Vấn đề 2: array (trại huấn luyện năm 2004)
Xem xét một mảng c1c2 ... cn gồm n (1 ≤ n ≤ 30 000)) các phần tử từ tập {A, B}.
CONCATENATE mảng với chính nó và có được một mảng có độ dài 2n. Đối với một số k (1≤k≤2n) xem xét các
subsequences chiều dài tối đa là n đó kết thúc vào vị trí k, và trong số này cho phép s (k) là nhỏ nhất
dãy tự từ điển. Xác định các chỉ số k cho mà s (k) là dài nhất. Gợi ý: Cho X và Y đặt cược hai
mảng như được định nghĩa trước và «o» toán tử nối. Trong vấn đề này, bạn sẽ xem xét rằng
X> X o Y.
Giải pháp:
Các dãy tìm kiếm là sự quay tự từ điển nhỏ nhất của mảng nhất định. Ký hiệu là Si
k
đang được dịch, vui lòng đợi..
