0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[AtCoder] ABC 178 C - Ubiquity

Posted at

全通りは $10^N$ 通りです。
$A_{i} = 0$ または $A_{i} = 9$ の場合は $2 \times 9^N - 8^N$ 通りです。
よって求める値は、$10^N - 2 \times 9^N + 8^N$ です。
ここまでは解説を見ずともわかりました。
しかし制約で、$1 \le N \le 10^6$ とあり、$10^N$はかなり巨大な数となることがわかります。
果たしてどうやって計算したらいいのか。
これも剰余を使うんだろうなと思ったんですが、具体的にどう計算すればいいのかわからなかったので解説を見てしまいました:sweat_smile:

なるほど、ループで乗算しながら同時に剰余も求めているんですね。
そこはわかりました。
しかし、解説のソースコードの最後、

ans=(ans+mod)%mod;

がわからなかった。
そこでいろんな数字を入れて試したら、上記の行の直前ではansが負の数になる場合もあるんですね(例えば$N = 1000000$)。
そのための1行ということがわかりました。
いやー、気付きませんでした:sweat_smile:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?