けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

累積max

鉄則本 A10 - Resort Hotel (2Q, ★4)

左右からの累積和・累積 max を前処理で求めておくのは、よくある典型!! 問題へのリンク 問題概要 個の整数からなる数列 が与えられる。次の 個のクエリに答えよ。 【クエリ】 区間 が与えられるので、数列からその区間を除外した領域について、整数値の最…

AtCoder ABC 347 F - Non-overlapping Squares (黄色, 525 点)

面白かった。JOI でもありそうな問題。長方形を 3 枚並べるのは典型らしい。 問題へのリンク 問題概要 のグリッドがあって、各マス には数値 が描かれている。 このグリッド上で の正方形を重ならないように 3 枚並べるとき、これらの正方形に覆われたマスの…

AtCoder ABC 134 C - Exception Handling (灰色, 300 点)

個のものから 個除いたものを考えるのは色々定石がある! 問題へのリンク 問題概要 個の整数 が与えられる。 各 に対して、 を除外した 個の整数の最大値を求めよ。 制約 解法 (1):アドホックに考える まずは素朴な解法を考えてみる。たとえば とかだったと…

AtCoder ABC 182 D - Wandering (茶色, 400 点)

累積和の累積 max 問題へのリンク 問題概要 数列 が与えられます。 この数列は負の要素を含むかもしれません。 数直線上の座標 0 に置かれているロボットが、以下の動作を順に行います。 正の向きに 進む。 正の向きに 進み、正の向きに 進む。 正の向きに …

JOI 本選 2020 A - 長いだけのネクタイ (難易度 6)

Greedy を考察して、さらに左右から累積和を求める!結構難しい! 問題へのリンク editorial 類題とか drken1215.hatenablog.com 問題概要 長さ の数列 と、長さ の数列 が与えられます。各 に対して、次の値を求めよ。 数列 から を除去してできる長さ の数…

KUPC 2020 E - Sequence Partitioning

近年非常によく見る DP 高速化系問題!! 問題へのリンク 問題概要 長さ の 3 つの数列 が与えられる。 いま、数列 をいくつかの連続する部分列に分割することを考える。 分割 に対して、スコアを、各区間についての以下の値の最小値として定める。 その区間…

AtCoder ARC 105 C - Camels and Bridge (青色, 500 点)

難しかった 問題へのリンク 問題概要 体重が であるような 体のラクダがいる。ラクダを一列に並べる方法のうち、次の条件を満たすものについて、左端のラクダと右端のラクダの距離として考えられる最小値を求めよ。また、そのようにラクダを並べることが不可…

HHKB プログラミングコンテスト 2020 E - Lamps (水色, 500 点)

これを思い出した drken1215.hatenablog.com 問題へのリンク 問題概要 のグリッドが与えられる。あるマスは壁 ('#') になっていて、あるマスは通路 ('.') になっている。通路マスが 個あるとして、すべての「通路マスの部分集合」 ( 通りある) に対して、以…

Grakn Forces 2020 D. Searchlights (R2000)

すごいよくある感じ 問題へのリンク 問題概要 二次元平面上に 個の点 () と、 個の点光源 () がある。今、 個の点に対して以下の操作を行う 個の点を一律に右に動かす 個の点を一律に上に動かす この操作によって、すべての点について「どの点光源の右下側に…

AOJ 3184 Hokkaido High School (HUPC 2020 day3-M)

比較的簡単枠だとは思っていたけど、B よりも解かれたのはびっくり! 問題へのリンク 問題概要 北海道高校には 個の科目があり、それぞれ 1, 2, 3 の 3 段階で成績がつけられる。 各生徒の成績は長さ の文字列で表される 生徒 が生徒 の「上位互換」であると…

Codeforces Round #625 (Div. 1) C. World of Darkraft: Battle for Azathoth (R2000)

セグ木を使って差分更新していく系、解けるけど実装が苦手すぎるので、こういうのをスパッと書けるようになりたい! 問題へのリンク 問題概要 個の武器と、 個の盾を持って、 体の敵に立ち向かう。あたなは武器の中から 1 個、盾の中から 1 個を選ぶ (初期状…

AtCoder ABC 129 D - Lamp (緑色, 400 点)

これも実はよくある典型問題だったりはする。 問題へのリンク 問題概要 下のような の二次元グリッドが与えられる。 #..#.. .....# ....#. #.#... このグリッドで '#' は壁を表している。ここで '.' マスを 1 つ選んで、そこに光源を置きたい。光源が照らす…

AtCoder ABC 124 B - Great Ocean View (6Q, 灰色, 200 点)

こういうのが素早くストレスなく書けるようになるといい感じな気がする 問題へのリンク 問題概要 海から順番に建物 があって、それぞれの高さは である。 海が見える建物が何個あるかを求めよ。なお、 番目の建物から海が見えるとは より前の 番目の建物より…

AtCoder AGC 029 E - Wandering TKHS (赤色, 1200 点)

またしても、最後の最後がよく詰めきれず... (でもその最後のところの詰めの大変さが、この難易度帯の特徴なんだよね) 問題へのリンク 問題概要 頂点のツリーが与えられる。根ノードの番号を 1 とする。各ノード について、以下のクエリに答えよ: 初期状態を…

JOI 予選 2019 E - イルミネーション (AOJ 0656) (1D, 難易度 7)

区間についてどうのこうのする問題、大抵は DP! 問題へのリンク 問題概要 個の整数 がある。これらのうちいくつか選んだ合計を最大化したい。ただし、 の区間 [ ] があって、選んだ数のどの 2 つをとっても同一区間上にならないようにしなければならない。 …

CS Academy 076 DIV2 D - Pyramids

えーーーーー、どうしてバグに気づかなかった。。。orz 問題へのリンク 問題概要 x 軸上に斜辺を持つような直角二等辺三角形 (三頂点はどれも格子点) が N 個与えられる。N 個の直角二等辺三角形によって被覆される格子点の総数を求めよ。 制約 1 <= N <= 10…