ferinの競プロ帳

競プロについてのメモ

ARC052 D - 9

問題ページ

 \displaystyle N=\sum_{i=0}^{10} 10^i \times a_i と表す。a_i は下から i 桁目の値であり、0 \leq a_i \leq 9 である。 \displaystyle \sum_{i=0}^{10} (10^i-1) \times a_i \equiv 0\ (\text{mod}\ K) となるような a_i\ (0 \leq i \leq 10) を求めたい。

a_i の組は 10^{10} 通り存在するため、普通に全列挙するとTLEしてしまう。そこで半分全列挙を行う。0 \leq i \leq 45 \leq i \leq 10 についてそれぞれ和を列挙する。足したときに \text{mod } K で0になるようなものが何個あるのか求めればよい。

上限 M の設定から a_i を列挙するのが多少面倒になっているが、上位部分が M と一致するか?の場合分けをすればよい。

半分全列挙見えなかった…
数字和と元の数字の一致、B 進数のときに \text{mod}\ B-1 するくらいしか性質を知らない(なんかあるのかな?)ので、これでだめなら全探索ベースで考えるとかした方がいいのかも…?