Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

トヨタ自動車プログラミングコンテスト2024#3(AtCoder Beginner Contest 344)

5完6WA

各問題

A - Spoiler

与えられた文字列を前から読んで出力ですが、最初の | が出た時点で出力をやめ、次の | が出た次から出力を再開とすればよいです。

B - Delimiter

入力した整数を配列に入れていき、0 が出現したら入力をやめて、配列を逆順で出力すればよいです。

C - A+B+C

N, M, L がたかだか 100 なので、A + B + C のすべての組み合わせを先に計算して set に入れておき、X がその set に含まれるかどうかを確認していけばよいです。

D - String Bags

つまるところ、dp[l] = l 文字目まで一致させるために必要な最小の金額 とした動的計画法をすればよいだけではあります。

いわゆる配るDPでやる場合、文字列の後ろの方から確定させなければならないことに注意です。これで 6WA だしました。on_

E - Insert or Erase

(もっと効率のよい管理方法があるかもしれませんが)、数列の各要素について、後ろに何があるかと前に何があるかを管理しておけば、各クエリごとに要素 x の周りだけを操作すればよいのでいけます。

まとめ

D ではまらなければ青パフォまであったのか...。現実は緑パフォ。厳しい。