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.

Author: kieulqd

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

Please read the guidelines before commenting.


There are no comments at the moment.