競プロ

最大区間和の求め方4通り(DP/モノイド/累積和累積min/Kadane's Algorithm)

ARC174 A - A Multiply で最大区間和を求める問題が出てきました。 コンテスト後、最大区間和を求める方法がいくつかあるのを知りました。 この記事では最大区間和を求める方法を4つ紹介します。 以下、長さ n の整数配列 xs の最大区間和を求める問題を考え…

木の直径を求めるアルゴリズムの正当性を絵で描いてみた

木における最長パス(またはその長さ)を木の直径といいます。 木の直径は次のように求められます。 木の頂点 $r$ を任意に選ぶ $r$ から最も遠くにある頂点 $x$ を求める (DFS などを使う) $x$ から最も遠くにある頂点 $y$ を求める(DFS などを使う) $x…