ABC114-D:756(400)
問題
https://atcoder.jp/contests/abc114/tasks/abc114_d
整数 が与えられます。 の約数のうち、約数をちょうど 個もつ正の整数は何個あるでしょうか。
制約
考え方
という整数に着目する解法*1と一般的に解く方法がある。一般的に解く方法を考える。
まず約数を 個持つ数に約数を 個持つ数をかけると、約数を 個持つ数となる。
そこで
番目の素因数まで考えたときに約数を 個もつ数の個数
とする。また を素因数分解した素因数をそれぞれ とし、その素因数の個数を としておく。すると 番目の素因数による約数の個数 個と、 番目までの素因数をもとに求められる約数の個数 個をかけ合わせて、約数を 個持つ数を作ることができる。 は 素因数 が 個存在することから 個を選ぶように素因数を選ぶことができる。そのように考えると以下のようなDP遷移を考えることができる。
解は素因数の個数を として となる。
Submission #3834644 - AtCoder Beginner Contest 114
どこに着目して考察するべきだったか
まず約数を をもつ数と約数を をもつ数をかけ合わせると約数 個もつ数になることがわかる。約数 個を小さいサイズから順番に解くことができることがわかる。
何がバグっていたか
得た知見
約数を 個持つ数に約数を 個持つ数をかけると、約数を 個持つ数となる
類題
*1: であるから約数がちょうど 個になる素因数の組み合わせの数を求める解法