Senの競技プログラミング備忘録

こけた問題を自分用の解説で載せる。けんちょんさんのブログを目指したい。質的にも量的にも。こけた問題だけに限定するけど

グラフ

グラフの橋と関節点の効率的な判定LowLink法の解説

LowLinkを実装してみた。自分用の詰まった部分のメモも含む。 どういう問題をやるの グラフが与えられて 関節点 その点を取ってしまうと、グラフの連結成分は増えてしまう(バラバラになる) 橋 その辺を取ってしまうと、グラフの連結成分は増えてしまう(バラ…

有向グラフの最短路と最長路問題

有向グラフの最短距離は、 負の辺が存在しないのならば、「ダイクストラ法」 負の辺が存在するならば、「ベルマンフォード法」、「ワーシャルフロイド法」 がこれを求めるアルゴリズムとして知られていて、そのうち、「ダイクストラ法」がこの3つの中で唯一E…

Codeforces Round #605 (Div. 3) - E.Nearest Opposite Parity

codeforces.com 概要 長さnの数列が与えられる。それぞれの要素a_i(1 さて、すべての1 不能なら"-1"と出力せよ。制約:1

コスト0辺のテクニック

この記事は、競技プログラミングでよくあるグラフの問題で、愚直に問題文の指示通りやると辺の数があまりにも多くなりすぎるようなものに対して、コスト0の辺をうまく利用することで辺の数のオーダーを落とす者である。 性質上、すべてのものに適応できるわ…

第二回全国統一プログラミング王決定戦予選-D Shortest Path on a Line

atcoder.jp 概要 最大10^5個の頂点(それぞれ1~Nまで番号を振る)を持つ辺に次の最大10万個のqueryで無向辺を追加する。クエリ LとRとCを与えられる。を満たすすべての(a, b)の間にコストCの辺を張る。クエリを全部処理したのち、頂点1から頂点Nまでの最短経路…

ABC143-E Travel by Car

atcoder.jp 概要 N(N )個の町をM(M )本の道がつないでる。それぞれの道には距離D(D )が設定されてる。あなたの車は最初燃料L( L )まで積んでおり、距離1走るごとに燃料1を消費する。町で燃料の補給ができるが、道の途中で燃料を切らしてはいけない。Q( Q )個…