mini notes

競技プログラミングの解法メモを残していきます。

2019-02-01から1ヶ月間の記事一覧

ARC027 B - 大事な数なのでZ回書きまLた。

B - 大事な数なのでZ回書きまLた。 概要 数字と英大文字からなる長さNの文字列が2つ与えられる。2つの文字列中の数字と英大文字は下記の特徴がある。 2つの文字列は同じN桁の数字を表したものである。 2つの文字列の同じ位置の文字を見たとき、片方が英大文…

ABC008 D - 金塊ゲーム

概要 D - 金塊ゲームW×Hマスの各マスに金が置いてある。またそのうちNマスに金を回収する機械が置いてある。 金を回収する機械を動作させると、その機械が置いてある行・列の金をすべて回収することが出来る。 ただし機械を動作させたとき、機械のマスから行…

ABC119D D - Lazy Faith (400)

D - Lazy Faith 概要 数直線上にA項の数列s(神社の位置)とB項の数列t(寺の位置)がある。Q項の数列xの各項xiについて、次の数値を答えよ。 xiからスタートして、sの項とtの項に1つずつ移動するときの最小の移動距離(sとtはどちらから移動してもよい) 制約…

ABC119 C - Synthetic Kadomatsu (300)

C - Synthetic Kadomatsu 概要 N項の数列lを使ってA, B, Cの3数を作る。数列には次のような加工を行う。 liに1加算する(コスト1) liに1減算する(コスト1) liとljを合体して(li + lj)の1つの項とする(コスト10) A, B, Cを作るために必要なコストの最小…

ABC007 D - 禁止された数字

概要 10進数表記で4, 9を含む数字が禁止されているとき、整数A, BについてA以上B以下の整数で禁止された数字はいくつあるか。 制約 1 ≦ A ≦ B ≦ 10^18 方針 桁DP。 解答① ペケンペイさんのを参考に。 pekempey.hatenablog.com 制約はすべてループで考慮し、…

ABC006 D - トランプ挿入ソート

D - トランプ挿入ソート 概要 1からNまでの数字が書かれたN枚のカードが1列に並べられている。 このカードを挿入操作(あるカードを取り出し、別のカードとカードの間に置く操作)を繰り返し、カードを昇順に並べ替えたい。 最小の操作数を求めよ。 制約 1 …

全国統一プログラミング王決定戦本戦 D - Deforestation

D - Deforestation 概要 竹がN本ある。スタート時の長さはすべて0であり、時間が1経過することに全ての竹の長さは1増える。 M回の伐採があり、i回目の伐採時は時間Tiに行われ、番号LiからRiの竹が伐採される。 伐採されても時間が1経過することに全ての竹の…

全国統一プログラミング王決定戦本戦 C - Come Together

C - Come Together 概要 H * Wマスのすべてのマスに1個ずつコマが置いてある。そこからK個のコマを取り除く。 その後全てのコマについて、縦または横に隣接したマスに動かす操作を繰り返し、ある1マスにコマを集めることを考える。 このとき、最小の操作回数…

ABC118 D - Match Matching (400)

D - Match Matching 概要 1から9までの数字のうち、使用してよい数字があらかじめ与えられる。 使用してよい数字を使ってできる最大の整数を求めよ。ただし、各数字を1つ作る度にコストがそれぞれ2, 5, 5, 4, 5, 6, 3, 7, 6かかるものとし、コストの合計がち…

みんなのプロコン2019 D - Ears (600)

D - Ears 概要 長さLの数列Bを準備しておく。値はすべて0。数直線上に0, 1, 2, ..., Lの点がある。 上記点の好きな場所からスタートし、隣接した点を移動してゆく。 i-1からiに、もしくはiからi-1に移動するとB[i]が1加算される。 これを好きなだけ繰り返し…

みんなのプロコン2019 C - When I hit my pocket... (400)

C - When I hit my pocket... 概要 ビスケット1枚、お金0円でスタートし、以下の操作を好きな順にK回繰り返す。 ビスケット1枚増やす ビスケットA枚減らし、お金1円増やす お金1円減らし、ビスケットB枚増やす K回の操作後のビスケットの枚数の最大値を答え…

ABC117 D - XXOR

D - XXOR 概要 N個の非負整数列A と非負整数Kが与えられる。 X f(X)の最大値を求めよ。 制約 1 0 0 共通方針 X, K, Aを2進数で考え、各桁(ビット)ごとに見ていく。 全てのA[j]のi桁目を確認し、0が多ければXのi桁目は1となるのがよく、逆に1が多ければXのi…

ABC004 D - マーブル

D - マーブル 概要 数直線上の整数点に箱がある。 赤玉がR個、緑玉がG個、青玉がB個あり、それぞれ数直線上の地点-100、0、100の箱に入っている。 この玉を1つずつ隣に移動させ、各地点にある箱にある玉の数が多くとも1つにしたい。ただし、玉を移動する際は…

ABC003 D - AtCoder社の冬

D - AtCoder社の冬 概要 R * CマスのうちのX * Yマス内にデスクをD個、サーバーラックをL個置く。 このとき、X * Yマス内の最も外側の4辺にはそれぞれ、デスクもしくはサーバーラックが置かれているものとする。 このような置き方(X * Yマスの選び方、デス…