#ARC224#AtCoder
5完
A 100が自明な上界なので、1-100まで試す
B H+Wができるだけ小さいH*Wの長方形上に置くのが最適。
C DFS木で親+1を付けるだけ。
D 1以上K未満の数字について、その数字が書かれているカードの集合が異なるように付ければよい。二項係数で数える。
E リスト上で後ろから貪欲に。
#AtCoder#ABC466
意外とFが解かれていなくて助かった
E 表から裏に切り替える権利をK回持ったDP
F modを取る操作は折り畳まれるイメージで 0-i までの数字が何セットあるかをmapで管理する。
G 解けず。累積和を取って重みつきUnionFindで連結成分ごとの条件までは帰着できたが……
#AtCoder#ABC466
6完。開幕Cでぐだついて、その後もくだらないミスが多すぎた。
A max(X)<0
B chmax(ans[C],S)
C 300点にしては中々の曲者���尺取りをインタラクティブにやるだけだが2段階誤読+実装ミスで6ペナ(!?)。
D CをキーにしたsetとRをキーにしたsetを持って同時に更新する。
#AtCoder#ABC466
意外とFが解かれていなくて助かった
E 表から裏に切り替える権利をK回持ったDP
F modを取る操作は折り畳まれるイメージで 0-i までの数字が何セットあるかをmapで管理する。
G 解けず。累積和を取って重みつきUnionFindで連結成分ごとの条件までは帰着できたが……
#ABC465#AtCoder
CとD逆っぽい
A A*3>B*2
B 1時間ごとに、L<=i<Rか、A<=i<Bかを判定して足す
C かなり難しい。自分の���ろに奇数個'o'があるなら最終的な反転対象。反転対象を(元々の)降順に並べ、その後残りを昇順に並べる
D K進数で末尾削除と追加に相当するので、あとは共通部分以外を置き換える
#ABC465#AtCoder
E 難しい。桁DPを気合で書く。「Nと一致するか」、「mod3」、「既に出た数字の集合」3次元で。自分が苦手なだけで、桁DPの中では易しめかも
F 6次元累積和(!?)。含除原理で足したり引いたり。1TLEの後、定数倍高速化で通したがC++で1522ms/2000ms なので少し怪しい通しかたをした感
#ABC463#AtCoder
6完勝利
A 16*Y==X*9
B S[i][X-'A']=='o'があればYes
C クエリ先読みして、時刻昇順に処理
D 二分探索。答えが0なら-1を出力
E 頂点を追加してダイクストラ。
F 初期状態は0勝-2勝に帰着する。2勝で優勝と3勝で優勝に場合分けして、��勝の抽選に参加する人数で場合分けして足す。
#ABC460#AtCoder
B以降難易度1問ずつずれてない?
B Bで高校数学ってありなのか。久しぶりにBでググった
C 難しいが典型。貪欲に
D 黒からの距離が偶数なら黒。黒の塊の内側は白になるので、最初の一回は愚直にやる(2ペナ)
E x*(10^(yの桁数+1)-1)=0 (modM)を数える。オーバーフローがかなりうざい
#ARC218#AtCoder
A 難しすぎる。実験すると包除原理が見���てくるので実装。何かミスっていると思うが、通ったので良し。
B 最小が0になるまで引く->0の個数が0になるまで消すの繰り返し。戦略盗用論法で、パスする選択肢が生まれた方が勝ち。
C シフトとスワップの2つで達成可能。600点問題最易クラス