F問題をC++とPythonで解いてみました。ABC280は、2022年12月3日21:00に実施されました。紹介はこちらに、プログラミングの方針はこちらに記事があります。1819)問題はリンク先をご覧ください。Receive重み付きUnionFindを使って解くことができました。重み付きUnionFindを使って、ABC328F問題(紹介記事)を解くことができました。この問題も重み付きUnionFindを使うとすっきりと解くことができました。経路によってポイントが異なる場合(重みが矛盾する場合)について考えてみます。以下の図では、A→B→Cと経路を通る場合のポイントは5(2+3)です。A→Cのポイントは6となります。A、B、Cの他に頂点や辺があっても、この閉路をすきなだけ回ることにより好きなだけポイントを増やすことができます。重みが異なる辺が見つかる=その辺を含む連結したグラフの頂点間の移動はポイントがいくらでも増やせる。整備したコードをそのまま使いました(6ー77行目)。以下の手順で設定します。