Toy と帽子と ADP BE

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

Toyota Programming Contest 2023 Spring Qual B(AtCoder Beginner Contest 290)

4完。

各問題

A - Contest Result

Aのうち、Bに含まれている番号の点数を足していけばよいです。

B - Qual B

Sの o のうち、前からK個はそのまま残して、残りの ox にします。

C - Max MEX

各数字が出現したかどうかを保存しておき、0 から K-1 まで順番に見ていって出現しない数があればそれが答え、K-1まですべて出現しているなら答えは K です。

D - Marking

NとDのLCMを取ってDで割ることで、0から開始して何回で0に戻ってくるかがわかります。

それで K-1 を割ることで何周するかがわかり、剰余を取ることで何周目の何回目の操作かがわかるので、あとは算数をがんばります。

E - Make it Palindrome

ある二つの数 A_iA_j が異なるとき、それが f(X) に寄与する回数は min(i + 1, n - j) です。

すべてが異なる数の場合の f(X) の総和から、同じ数について寄与する回数を引いていけばよさそうです。

愚直にやるとTLEするので尺取り法の要領で頑張ってみたのですが、いつまで経っても合わずに時間切れ...。解説見ても外してないっぽいんですが。

まとめ

E は考察は間違ってないと思うんですけど、答えが合わないという残念なことに。まあ水色復帰したのでよしとするか。