ABC206 E - Divide Both
問題はこちら
問題概要
整数を
の最大公約数とすると,以下が成立する.
かつ
かつ
解説
各に対して,条件を満たすような
の数を求める.つまり,
となるような
のうち,
がともに
より大きい
の倍数かつであるようなものの数を求めたい.
となるような
の数は
となる.
ここで,は
となるなら
,そうでないなら
となる関数である.これは,
による畳み込みとなっているので高速に求めることができる.
この値からのどちらかが
に等しいような
の数を引く.
となる
の数は
となるが,これも約数のゼータ変換を用いて高速に計算でき,対称性から
についても同じ値となる.ここから引きすぎた
を足せば答えとなる.
以下の記事が参考になる.
による畳み込みやゼータ変換についての記事
qiita.com