バイトの競プロメモ

主に競技プログラミング

2018-06-29から1日間の記事一覧

AGC 017 B - Moderate Differences

B - Moderate DifferencesNこのマスがあり、左端にAが、右端にBが書かれている 隣接する全てのマスで、整数の差がC以上D以下に出来るか判定せよ3 A 10^9 B 10 ^9 0 自分の解法一マスごとに足した場合の区間と引いた場合の二通りの区間があるため、答えに近い…

AGC 008 B - Contiguous Repainting

B - Contiguous Repainting 概略N個のマスが横に並んでいて、整数aiが書かれている。以下の操作を好きなだけ行う・連続するK個のマスを全て白く塗るか、黒く塗る。黒いマスの合計を最大化したい 制約 ・1 ・1 ・ |ai| 解法 000000000 111100000 111000000 11…

AGC 006 B - Median Pyramid Easy

B - Median Pyramid Easy 解法22のように繋がったものが中央にあれば良い。または、45のような時、隣の数がなんでも答えは4,5のどちらかになる。(中間の数がないため)それを利用して真ん中に345 のように置くと、上も同じようになる。 問題の芯 とりあえず…

AGC 024 B - Backfront

B - Backfront問題 数列からいくつかの数字を前と後ろへ移動させてソートしたい。数列からいくつかを選んで、前後に動かした時、動かさなかったものは4567のような1ずつ増える数列である。つまりそのような最長の部分列を探したい。 数字の場所のインデック…

AGC 005 B - Minimum Sum

B - Minimum Sum 解法5 1 4 8 2 6 7 3 たとえば2がminで選ばれる回数は、Lが4,8,2の時でかつRが2,6,7の時なので9回ある。つまり、自分より大きくて左右で地続きになっているものの個数が分かれば解ける。初めは数を大きい順に見ていき、union-find木に入れて…