F]競技プログラミングhttp://codeforces.com/contest/908/problem/F数直線上にN点ある。i番目の点はP[i]にあり、色はC[i]である。色は赤R,青B,緑Gの3種類でP[i]は単調増加する。この頂点内で辺をはり、赤の頂点のみを消したグラフ、青の頂点のみを消したグラフ、のどちらも全体が連結となる様な辺を張る。点の距離を辺の重みとするとき、重みの総和の最小値は?解法http://codeforces.com/contest/908/submission/33792604貪欲に作っていく。緑を超えて辺を張る必要は内ので緑内での連結を考えていく。ある緑とある緑の間では、以下のように辺を貼っていくのが最適。B-B-B-G|-------------------|こうすると赤が消えても青が消えても連結を保てる。場面によってはこのように繋いだ方がいい場合もある。|--R--R--R--R--R-|G-B-B-B--B-B-B-Gどちらの色を使っても連結なので、どちらが消えても連結を保てる。緑と緑の間ではこの2通りを試し、最適な方を採用すればいい。端の部分はR--R---GB---B---|のようにやっていけばいい。コーナーケースとして緑が一つもない場合がある。F]月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。