Editorial for Dãy số quy luật
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Sub 1:
- Để tìm số ~a_i~ (i = 2..n) ta xét mọi cặp số ~a_j~, ~a_k~ (0 ≤ j ≤ k ≤ i – 1) ở trước, dùng mảng đánh dấu giá trị 2*~a_k~ – ~a_j~.
- Đi từ đầu đến cuối dãy, số nào chưa được đánh dấu thì đó là giá trị an cần tìm.
Độ phức tạp: O(~n^3~)
*Sub 2: *
- Làm tương tự như sub1 tuy nhiên sau khi tìm được giá trị ai ta đánh dấu ngay các giá trị 2~a_i~ - ~a_j~ chứ không cần đánh dấu lại tất cả mọi giá trị 2~a_k~ – ~a_j~ như Sub1.
Độ phức tạp: O(~n^2~)
Sub 3:
- Nếu n ở cơ số 2 có giá trị ~a_k~ ~a_{k-1}~ … ~a_2~ ~a_1~ ~a_0~ thì giá trị ~a_n~ là ~a_k~.~3^k~ + ~a_{k-1}~.~3^{k-1}~ + … + ~a_2~.~3^2~ + ~a_1~.~3^1~ + ~a_0~.~3^0~
Độ phức tạp thuật toán: O(logn)
Comments