ひらきちのことだし、今日のABCにEGOISM 440出たらウケるな
— Rho17 (@Rho4913) January 10, 2026
大当たり!!!!!!やっぱひらきちなんですね~~
結果
oooooo(2)- 94:58 134位
Perf: 2323
Rating: 1958->2000 (+42) 黄色復帰ギリギリすぎる
A
https://atcoder.jp/contests/abc440/submissions/72333689
2を指定回数かける
B
https://atcoder.jp/contests/abc440/submissions/72336274
C
https://atcoder.jp/contests/abc440/submissions/72347456
問題の読解に困る
長さが $2W$ 以上だったら適当に巡回させ、足りなければ0埋めして長さを $2W$ にする。これをトーラスだと思い、長さ $W$ の連続区間の重みを最小にしてくださいということであり、変化分だけ足し引きすればよい
D
https://atcoder.jp/contests/abc440/submissions/72351111
二分探索の中で二分探索 時間制限ヒヤヒヤ
E
https://atcoder.jp/contests/abc440/submissions/72361947
ガチでむずい 1位の状態から始めて次の順位に来うるものを全て生成し、またその中で1位を取り...... ということをやるのでpriority_queueに状態を入れながら探索する。重複を防ぐために、おいしさの大きい順に $j$ 番目のものに操作をした、というフラグを持ち「次点」の探索には $j<k$ なる $k$ について $k$ 番目のクッキーを1減らし $k+1$ 番目のクッキーを1増やすという操作のみを許容するようにする。これが全ての場合を生成し重複が起こらないことは操作の通り数を数えれば従う。
F
https://atcoder.jp/contests/abc440/submissions/72377272
$B_i=1,2$ という性質がどう考えても強い。スコアの構造は
- $A_i$ の合計
- $B_i=2$ である馬の直後に来た馬に関する $A_j$ の合計
という風に分けられる。前者はすぐに計算できるので後者を何とかしたい。これを最大化するとなると、基本的には $A_i$ の大きい馬から割り当てていけばよさそう。しかし $A_i$ の大きい馬が全員 $B_i=2$ だったりすると困る。この条件は $B_i=2$ である馬の数を $T$ としたとき、
- $A_i$ の上位 $T$ 個の中に $B_i=1$ があれば、その $A_i$ の総和。
- そうでなければ、$B_i=2$ に対する $A_i$ の総和から最小値を引き $B_i=1$ の中の最大(存在しなければ $0$ )を加算。
というように書き表せる。あとは上位 $T$ 個の値と総和を set などで管理していけばよい。 $T=0$ のケースが例外になりうるので注意。