問題の意味
あなたの正の整数与える\(N-を\) 、文字の数を見つけるために、\(1 \)する(K \)を\整数列と、文字列が長さとなるよう形成することができる\(N- \)の環状パリンドローム配列をシフトします。
ARCオリジナルタイトル\(100 \%の\)データの\(N、\ル10 kは
^ 9 \) SDOI適応後、\(30 \%の\)データの\を(N、K \ル10 ^ {10 } \)、\ (60 \%の\)データの\(N、K \ル10 ^ {14} \)、\ (100 \%の\)データの\(N、K \ル10 ^ {18 } \) ......
問題の解決策
\(N、K \ 10 ^ {10} \)
ループ部の長さという条件で、パリンドローム配列を考える\(X \)場合、\(X \)は回答の次に寄与、奇数である\(X \)が偶数である場合の回答次いで貢献; FRAC \(\ X} {2} {\)。
私たちは、押して(X \)\、すべての文字列を分類し、各タイプの数をカウントします。
セット\(F(i)は、\)セクションの最小サイクル長表す\(Iは\)パリンドローム配列の数\(F(I)\)区間の周期長表す\(Iは\) (すなわち\を(私は\します)パリンドロームパリンドローム配列ストリングの新しい番号を取得するために)最小周期の区間長の正の整数倍です。
次に\ [F(I)= \ SUM \ limits_ {D | I} F(D)\] \ [ANS = SUM \ \のlimits_ {D | N-} F(D)\時間\開始{ケース} D(D奇数)\\ \ FRAC {D} {ある 2}(dが偶数である)\端{ケース} \]
明確\(F(I)= kは ^ {\ lceilの\のFRAC {I} {2} \ rceil} \) 、我々は解決することができます\(F(D)\) 。
\(Nル10 ^ {\ 10} \) 、約最大の要因(6700 \)\より。だから我々は尋ねた\(6700 \)より\(F(d)を\) 。
溶液A:与える転置\(F(I)= F (I) - \和の\ limits_ {dは| I 及びd≠I} F(I)
\) 再帰\(F \)をすることができます。
溶液II:これはメビウスの反転公式ではないでしょうか?
式は、に変換される\(F(I)= \
和\ limits_ {D | I}ミュー\ F(D)(\ FRAC {I} {D})\) 我々は、ちょうど記載\(6700 \)複数の\(\ MU \) 、それは強制することができるので\(\テキスト{DFSを} \ ) 算出される(\ \ MU(I))\。
その後、直接計算\(F(I)\)することができます。
複雑\(^ O 2(6700)\) 。
\(N、K \ 10 ^ {14} \)
見出さ\(\テキスト{DFSを} \ ) とき各素因数のみによって\(0 \)または\(1 \) A、によって\(2 \)番目のワード\(\ MU \)値となりますこれは、となりました\(0 \) A。
このように複雑になり\(O(17280 \タイムズ12は、^ {})\ 2である)、その数は、一般に、カードにバインドされていない、これ以上の約数がいっぱいです\(17280 \) 、カードは頻繁にすることができます(\します60 \)ポイント?
\(N、K \ 10 ^ {18} \)
私は理解していない、SCBのブログを移動してください。