Hướng dẫn AC bài BEADS

Nguyễn Hoàng Sơn 2019-12-18 3:21:22 2019-12-18 3:42:12

B1: Code phần nhập xuất

B2: Code tìm đoạn con tăng dần lớn nhất Lứu ý phải code tìm đoạn con lớn nhất với O(nlogn) bằng cách tìm kiếm nhị phân. Mỗi lần tìm kiếm vị trí mà giá trị d trong mảng tìm kiếm nhị phân mà lớn hơn vị trí i ta đang xét thì lưu lại (Giá trị này tương đương với đoạn con lớn nhất mà các giá trị của đoạn con có chỉ số nhỏ hơn nó, chỉ số là số thứ tự của dữ liệu đầu vào). Để được mảng với chỉ số lớn hơn nó thì ta cần phải reverse chỉ số của dữ liệu đầu vào.

B3: Ta làm tư tự tìm đoạn con nhỏ nhất, khi xong ta sẽ được 2 mảng left và right, mảng left[i] là độ dài đoạn con lớn nhất giảm dần mà có chỉ số lớn hơn nó. right[i] là độ dài đoạn con lớn nhất tăng dần mà có chỉ số lớn hơn nó

B4: for 1 -> n để tìm (right[i] + left[i] - 1) lớn nhất

B5: cout kết quả

Tham khảo code của

Sơn Đẹp Zai

-> Bằng cách bấm vào ảnh em gái bên dưới =))


Tổng cộng 2 trả lời

Lê Công Bách

tre trou

Nguyễn Hoàng Sơn

Like đê =))