https://atcoder.jp/contests/arc185/editorial/11160
今まで何回も見たことあるんだけど、ちゃんと分かっておらず雰囲気でやっていた部分についてを完全に理解することができたのでメモ。
を求めたい。これを に置き換えて計算するとき、xで累積和を取って とするときの、h ってなんですかという話。
まあ「右側をゼータ変換したんだから左側はメビウス変換でしょ、部分積分なんだから」という気持ちはあるし、 の寄与を数えるだけでももちろん示せるんだけど、見通しよくやりましょう。
ゼータ変換(に対応する行列)を Z とし、 を k 番目の要素が1で他が0の数列とする。
ゼータ変換が約数側の和を取る操作であるのに対し、 は倍数側の和を取る操作になる(伝われ)ので、 は g(n) の約数のところだけ1になる数列である。よって
具体例
として得られる。
具体例2(冒頭の問題)
として得られる。
具体例3(約数包除原理)
として得られる