経路 で色 以外の辺を通る回数を とする。費用は なので、答えは 。色 を固定し、その色の辺の重みを 0、他を 1 として 0-1 BFS で最短距離を求める。全色の結果の最小値が答えである。 重み 0 の緩和はデックの前、重み 1 は後ろへ挿入する。挿入時の距離を保存し、古い項目を飛ばす。時間 、空間 。重みが非負なので閉路を除去しても固定色の費用は増えない。サブタスク 1 は DFS ですべての単純経路を列挙して色数を数えればよい。緩い上限は で、 なら十分。答えと有限最短距離は 0 以上 以下で、64ビット整数に収まる。
Solution written by GPT6.1