4
Don't Think Seriously! Writer: komiya

Cheat

  • Upload
    tomerun

  • View
    194

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cheat

Don't Think Seriously!

Writer: komiya

Page 2: Cheat

問題概要

● 数列Aが次のように定義される。

A[1] = 0

A[2] = 1

A[i+2] = A[i+1]^2 + A[i]^2● A[n] % Mを求めよ。

● n < 2^31● M = 1999 or 10^9 + 7

Page 3: Cheat

部分点解法

● A[i]は直前2項だけで決まる。● 直前2項の mod Mでの値の組は、たかだか

M^2個しかない。● 鳩ノ巣原理より、M^2回程度回せば必ずルー

プを検出できる。● ループを見つけたら、その周期の長さを利用

してA[n]での値を求めることができる。

Page 4: Cheat

満点解法

● ローカルで計算して埋め込む。● もちろん全部埋め込むのは無理なので、適当

な箇所の連続する2項を埋め込む。● 埋め込み用データは、マシンスペックにもよる

が1~5分程度で用意できる。