AtCoder Beginner Contest 441 (Promotion of Engineer Guild Fes) コンテストまとめ

コンテスト情報

atcoder.jp favicon

コンテスト時間: 2026-01-17(土) 21:00 ~ 2026-01-17(土) 22:40 (100分)

A 問題

  • Difficulty: 30 / NoviSteps: 6Q / 解答時間: 6:09 + WA x1

問題概要

10100×1010010^{100} \times 10^{100}のマス目があり、マス (P,Q)(P,Q) を一番左上のマスとした 100×100100\times 100 マスの領域のみが黒く塗られており、それ以外のマスは白く塗られている。 マス (X,Y)(X,Y) が黒く塗られているか判定せよ。

解答方針

  • マス (X,Y)(X, Y)PXP+99P \leq X \leq P+99 かつ QYQ+99Q \leq Y \leq Q+99 ならば黒、そうでなければ白で塗られている。

  • 条件を PXP+100P \leq X \leq P+100 かつ QYQ+100Q \leq Y \leq Q+100 としたせいで1ペナ。

ABC 441 A - Black Squareyuulisio.com favicon

B 問題

  • Difficulty: 70 / NoviSteps: 6Q / 解答時間: 5:00

問題概要

AtCoder 国の公用語は、高橋語と青木語の 22 つの言語である。 高橋語では長さ NN の文字列 SS に含まれる英小文字のみを、青木語では長さ MM の文字列 TT に含まれる英小文字のみを用いる。

AtCoder 国の公用語に含まれる QQ 個の単語が与えられるので、それぞれの単語が次のうちどれに該当するか判定せよ。

  • 高橋語の単語であることが確定する
  • 青木語の単語であることが確定する
  • どちらともいえない

解答方針

  • S,TS, Tに含まれる各アルファベットごとに、以下のように分類しておく。
    • 高橋語にのみ含まれる
    • 青木語にのみ含まれる
    • 両方に含まれる or 両方に含まれない
  • その後、QQ個の各単語について、それに含まれる各アルファベットを調べ、以下のように判定できる。
    • 高橋語にのみ含まれるアルファベットが1つでもあれば「高橋語」と確定
    • 青木語にのみ含まれるアルファベットが1つでもあれば「青木語」と確定
    • どちらにも該当しなければ判断を保留し、最終的に保留の場合は「どちらともいえない」と判定

ABC 441 B - Two Languagesyuulisio.com favicon

C 問題

  • Difficulty: 406 / NoviSteps: 2Q / 解答時間: 15:50

問題概要

NN 個のカップがあり、ii 番目 (1iN)(1\leq i\leq N) のカップには Ai[ml]A_i \, \mathrm{[ml]} の液体が入っている。 また、これらのうちちょうど KK 個のカップには日本酒が入っており、それ以外には水が入っている。 ただし、どのカップに日本酒が入っているかについては分からない。

高橋君は(1つ以上の)いくつかのカップを選んでそれらに入った液体をすべて飲むことができる。 高橋君が確実に X[ml]X \, \mathrm{[ml]} 以上の日本酒を飲むためには、最低何個のカップを選ぶ必要があるか求めよ。

解答方針

  • カップを液体の量 AiA_i の降順にソートする。
  • 多い方から mm 個のカップを選んだとき、確実に飲める日本酒の量の合計は少ない方から K(Nm)K-(N-m) 個のカップに入っている液体の量の合計となる。
  • したがって、i=NK+1mAiX\displaystyle \sum_{i=N-K+1}^{m} A_i \geq X を満たす最小の mm を求めれば良い。

ABC 441 C - Sake or Wateryuulisio.com favicon

D 問題

  • Difficulty: 732 / NoviSteps: 2Q / 解答時間: 14:21

問題概要

NN 頂点 MM 辺の有向グラフがあり、ii 番目の辺は頂点 UiU_i から頂点 ViV_i へ向かう辺で、コストは CiC_i である。 また、各頂点の出次数は 44 以下である。

次の条件をみたす頂点 vvをすべて求めよ。

  • 頂点 11 から頂点 vv への経路であって、次の条件を共に満たすものが存在する。ただし、同じ辺を複数回通っても良いが、通るたびに回数とコストがカウントされる。
    • ちょうど LL 回辺を通る。
    • 通った辺のコストの総和が SS 以上 TT 以下である。

解答方針

  • 「各頂点の出次数は 44 以下である」という条件が大きなヒント。
  • 頂点 11 からスタートして、のべ LL 回の辺をを通るような経路は最大で 4L4^L 通りしかない。
  • 制約から LL の最大値は 1010 なので、4101064^{10} \approx 10^6 であり、DFSによる全探索が可能である。

ABC 441 D - Paid Walkyuulisio.com favicon

E 問題

  • Difficulty: 969 / NoviSteps: 1D / 解答時間: 30:04

問題概要

A, B, C33 種類の文字からなる長さ NN の文字列 SS が与えられる。

SS の空でない連続する部分文字列であって、ABよりも多く含まれるものの個数を求めよ。

解答方針

  • 文字列 SS の各文字を次のように変換する。
    • A+1+1
    • B1-1
    • C00
  • この置換により、ABよりも多く含まれる部分文字列は、部分和が正となる区間に対応する。
  • さらにこの数列に対して累積和を取ることで、累積和配列の転倒数を求める問題に帰着でき、BIT(Fenwick Tree)を用いて O(NlogN)O(N \log N) の計算量で解くことができる。

ABC 441 E - A > B substringyuulisio.com favicon

成績

atcoder.jp favicon
  • 順位: 2125th / 12331
  • Performance: 1300
  • Rating: 1256 → 1260 (+4) Highest更新!

A問題のペナは終わってるが、まあ5完できたのでセーフ。