Lord_David's blog

By Lord_David, history, 3 years ago, In English

Hello, could someone please explain this problem 450B - Jzzhu and Sequences to me. I've read the editorial and some other peoples code, but I'm not sure I completely understand it. Thanks in advance!

  • Vote: I like it
  • -5
  • Vote: I do not like it

| Write comment?
»
3 years ago, # |
Rev. 2   Vote: I like it +4 Vote: I do not like it

Notice that the relation f[i] = f[i+1] + f[i-1] can be rewritten as f[i+1] = f[i] — f[i-1]. We can now calculate f[i] just by using the rewritten relation. After calculating the first 8 terms of f, we get the numbers: x, y, y-x, -x, -y, x-y, x, y. Notice that f repeats itself; to be more precise, f[i+6] = f[i] for any i, so we can just take n modulo 6 and print the corresponding number from the first 6 terms of f.

»
3 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Another thing apart from the already present comments, learn matrix exponentiation method for fibonacci numbers. Similar idea will work here.