AtCoder Beginner Contest 461 コンテストまとめ

コンテスト情報

AtCoder Beginner Contest 461 - AtCoderatcoder.jp favicon

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

A 問題

  • Difficulty: 12 / NoviSteps: 9Q / 解答時間: 2:00

問題概要

威力が DD 以下の攻撃をすべて防ぐが、それより大きい攻撃は防ぐことができない鎧がある。威力 AA の攻撃を防ぐことができるか、判定せよ。

解答方針

  • ADA \leq D ならYes、そうでなければNoを出力すればよい。

ABC 461 A - Armoryuulisio.com favicon

B 問題

  • Difficulty: 34 / NoviSteps: 7Q / 解答時間: 1:44

問題概要

NN 人の木こりが斧を 11 個ずつ持っていたが、全員が斧を池に落としてしまった。 池には NN 個の斧 1,2,,N1,2,\dots,N が沈んでおり、各木こり ii は「自分が持っていた斧は斧 AiA_i である」と主張している。 一方、この池の女神は、各斧 ii を持っていたのは木こり BiB_i であることを知っている。

NN 人の木こり全員が本当のことを言っているかどうかを判定せよ。

解答方針

  • 各木こり ii について、 Ai=BiA_i = B_i であるかを確認すればよい。

ABC 461 B - The Honest Woodcuttersyuulisio.com favicon

C 問題

  • Difficulty: 332 / NoviSteps: 3Q / 解答時間: 13:02

問題概要

NN 個の宝石があり、 ii 番目の宝石の色は CiC_i で価値は ViV_i である。 この NN 個の宝石の中から、宝石の色を MM 種類以上として KK 個を選ぶことを考える。 このとき、選んだ宝石の価値の総和としてありうる最大値を求めよ。

解答方針

  • 色の種類を無視すれば、単純に価値の高い方から KK 個を選べばよい。
  • そのような選び方で色の種類数が足りない場合は、まだ選ばれていない色の宝石を追加する必要があり、代わりに同じ色で2個目以降の宝石を削除する。
  • したがって、まだ選んでいない色から「その色で最も価値が高い宝石」を追加候補にし、すでに選んでいる宝石のうち「同じ色で2個目以降の宝石」を削除候補にした後、最も価値の高い追加候補と、最も価値の低い削除候補を交換するような操作を、色の種類数が MM 以上になるまで繰り返せばよい。

ABC 461 C - Varietyyuulisio.com favicon

D 問題

  • Difficulty: 914 / NoviSteps: 1Q / 解答時間: 45:34

問題概要

H×WH \times W のグリッドがあり、各マスには 00 または 11 の整数が書き込まれている。 書き込まれた整数の総和が KK となる長方形領域がいくつあるか求めよ。

解答方針

  • 考える領域の上下を固定して、列ごとの累積和をとる。
  • すると、求める長方形領域の条件は「列ごとの累積和」の和が KK となるような区間の個数を求めることに帰着される。
  • ある配列 AA と整数 xx に対して、 i=lrAix\displaystyle \sum_{i=l}^{r} A_i \geq x が成り立つような (l,r)(l, r) の組の個数を数える関数を count(x)\mathrm{count}(x) とすると、求める答えは count(K)count(K+1)\mathrm{count}(K) - \mathrm{count}(K + 1) となる。
    • count(x)\mathrm{count}(x) は尺取り法の要領で 計算量 O(W)O(W) で求めることができる。

ABC 461 D - Count Subgrid Sum = Kyuulisio.com favicon

成績

atcoder.jp favicon
  • 順位: 2586th / 13633
  • Performance: 1274
  • 1310 → 1307 (-3)

D問題で、単純な二次元累積和を用いた O(H2W2)O(H^2 W^2) の解法が通ってしまうことが判明し激萎え。 それだったらE問題も通せてたって...