2025年10月22日水曜日

Codeforces Round 1060 (Div. 2)

 ABDの三完。Cが分からなかった。

コンテスト後のツイート

C2. No Cost Too Great (Hard Version)

 C1の時点で分からなかったのですが。
 他の方のACコードや、maspyさんの解説などを参考にしてAC。コンテスト中の考察は普ちゃんと間違っており、結構難しい問題に感じてしまった。

 コンテスト中は、A[i]たちの素因数の個数*nくらいの計算量が必要な気がしてしまったが、それはさすがに間に合わない。
 Bをソートしたとき(SBとする)、SB[0]+SB[1]が明らかに答えになるので、これより小さくなる可能性があるものを探せば良いと考えると、SB[0]に対応するindex以外は、0回か1回足すことしか考えなくて良い。
 そうすると、他の素数たち全てを見る必要はなく、A[ind]の素因数が、「A[i]の素因数たち(i=indを除く)の集合」に含まれるかどうかさえあれば良いので、setを使って判定できる。
 これでC1は解ける。

 SB[0]に対応するindexについては「A[i]の素因数たち(i=indを除く)の集合」全てに対して計算を行えば、C2も解ける。

 



0 件のコメント:

コメントを投稿