F - Total Product is N 解説
by
convexineq
条件を満たし、かつ \(1\) を含まない単調増加な \(A\) を DFS などで愚直に列挙することで、コンテスト開催時の全てのテストケースに AC できます。
https://atcoder.jp/contests/abc461/submissions/76493739
(6/11 追記)上の条件を満たす列 \(A\) の個数を \(f(N)\) とおきます。本問題の制約 \(N \le 10^{10}\) のもとで、 \(f(N)\) の最大値は \(10145922\) であることが証明できるので、この方針は正当です。以下の内容は https://x.com/Not_Leonian/status/2064016699486286090 を全面的に参考にしています。
\(N = p_1^{e_1} \dots p_r^{e_r}\) のとき、 \(f(N)\) は指数列 \(e = (e_1, \dots, e_r)\) のみに依存します。よって \(p_1 = 2, p_2 = 3, \dots\) として、\(N \le 10^{10}\) となる指数列のみを考えればよいです。さらに、指数列としては極大なものだけを考えればよいです(末尾に「余った倍率」をかければよい)。極大な指数列 \(234\) 通りは簡単に列挙できます。これら全てについて、上記 AC コード(の改造)により \(f(N)\) の値を求めました。
\(f(N)\)、\(N\) の値、指数列 \(e\) を降順に列挙すると、上位 \(10\) 件は次のようになります。
- (10145922, 9340531200, (9, 6, 2, 1, 1, 1))
- (9863273, 8821612800, (8, 4, 2, 1, 1, 1, 1))
- (9472860, 9081072000, (7, 4, 3, 2, 1, 1))
- (9180643, 7264857600, (9, 4, 2, 2, 1, 1))
- (9083409, 7783776000, (8, 5, 3, 1, 1, 1))
- (9071402, 9686476800, (11, 3, 2, 2, 1, 1))
- (8505041, 8382528000, (9, 5, 3, 2, 1))
- (8491909, 8302694400, (12, 4, 2, 1, 1, 1))
- (8028450, 6227020800, (10, 5, 2, 1, 1, 1))
- (7908882, 9580032000, (12, 5, 3, 1, 1))
投稿日時:
最終更新:
