ABC437 (2025/12/20)
https://atcoder.jp/contests/abc437/tasks
〇A問題
まーす.icon print(12 * A + B).
まーす.icon 早朝から学会(6時に家出る)→滋賀観光→仮眠→ABC.
CarpDay.icon今日?お疲れさまでした.
まーす.icon Yes.今回は,日本語の講演を聞く感じだったので,思ってたよりは......という感じでした.内容は意味不(頭良すぎて,何言ってるかわかんない感じ)でした💦
CarpDay.icon ぎりぎりで5問AC.久しぶり.けど順位2000位切らない.厳しい..
まーす.icon 最近インフレがえげつないです.......前回も5完で順位が2000弱でしたし,Fも1000人以上解いていました
N_N.icon 今日は書きたくないです...A * 12 + B
Kaplam.icon日曜2時になって昨日が土曜日ということに気付きました、大学行くのが週1になって曜日感覚がにぶく
〇B問題
まーす.icon 愚直に3重ループで
CarpDay.icon 上に同じ
N_N.icon 同じです.
〇C問題
CarpDay.icon 確信ない方法で投げたら通った.うーん.
まーす.icon ぬまぬま~.解ける気がしないので,D, Eへ~
まーす.icon ちなみに,$ Pの大きい方からとってきたり,$ Wと$ Pの差分を考えたりしたけれど,WA27個(ほぼ全部じゃん)が取れないし,WAケースが思い浮かばないしで辛かった.
まーす.icon 解説見た.あぁ......開いた口が塞がらない......全く気が付かなかった......
N_N.icon すべてはこの問題のせい!DPで解いて,TLE.$ O(N^2) になるのはわかりつつ,いろいろ高速化してもTLE.最後の方に別の方法を思い付いたけど,今のところWA.
〇D問題
CarpDay.icon 行(Bj)ごとにAの各要素との大小関係を比較して,(Bjより大きいAの合計)ー(Bjより大きい個数)✖Bj+(Bj以下の個数)✖Bjー(Bj以下のAの合計).Aをsortして累積和求めて二分探索で対応
まーす.icon $ Bを sort して単調増加列にした後に累積和をとる.このとき,$ \sum_{i = 1} ^ {N} \left( A_{i} \times {\color{red}(B_{j} \leq A_{i} を満たす j の個数)} - \sum_{B_{j} \leq A_{i}} B_{j} + \sum_{B_{j} > A_{i}} B_{j} - A_{i} \times (M - {\color{red}(B_{j} \leq A_{i} を満たす j の個数)}) \right)が答え.上の式の赤の部分でbisect を用いるので,$ O((N + M) \log M)想定.
〇E問題
CarpDay.icon 無理やり実装して,ギリギリ時間内にAC.各数列番号をノード,追加元数列から作成された数列に有向枝を張り,枝の重さを追加した値にする.ある始点から同じ数が追加された場合は,点をマージする.グラフができたら,DFSっぽく進みつつ,マージした点の番号を番号順に表示とかなんとか..
まーす.icon Cが解けそうに無かったのでこっちを考える.多分,BFSとDFSの合わせ技?まだ見ない
〇F問題
CarpDay.icon最後の数分だけ見る.マンハッタン距離だから意外にシンプルかも.斜め方向に関する最大値と最小値をセグ木で管理する感じかな?
〇G問題
#AtCoder #ABC