F H_j>=H_i-Dと誤読。この場合はセグ木で解ける。正しい解法は、Hが大きいindexから見て、平面走査(というか、イベントソート)+双対セグ木。
— titia (@titia_til) May 31, 2025
G Stern–Brocot木を検索していたら終了。
2025年6月27日金曜日
AtCoder Beginner Contest 408
2025年6月25日水曜日
Educational Codeforces Round 180 (Rated for Div. 2)
C 難しかった。最大値を使うかどうかで場合分けした。使うときは残り二個全探索。使わないときは、大きい二個(b,c)全探索で、残り一個aがa>MAX-b-cかつa>c-bなら良い。この個数は二分探索で求められる。
— titia (@titia_til) June 23, 2025
D degreeが2の頂点があるのが必要十分。そこだけ一直線にして、あとは交互に向き付け。
E. Tree Colorings
2025年6月23日月曜日
第六回日本最強プログラマー学生選手権-予選-(AtCoder Regular Contest 201)
D A.sort() B.sort() A.reverse()とすると、A[i+ind]とB[i]を組み合わせればOK。その後、indを二分探索する……とか嘘に嵌って通せず終了。
— titia (@titia_til) June 22, 2025
C - Prefix Covering
D - Match, Mod, Minimize
2025年6月22日日曜日
ユニークビジョンプログラミングコンテスト2025 夏(AtCoder Beginner Contest 411)
最初TLEしたときdefaultdictのせいかと嫌な気持ちになったが、ただのmodの取り忘れでほっとした。
— titia (@titia_til) June 21, 2025
F マージテクだよね→WA。WAの原因が分からぬまま終了。愚直を書くべきだったかも。
F - Contraction
G - Count Cycles
2025年6月21日土曜日
yukicoder contest 471
No.3185 Three Abs
No.3187 Mingle
2025年6月20日金曜日
Codeforces Round 1032 (Div. 3)
D 1から順に運ぶ。
— titia (@titia_til) June 17, 2025
E x桁より上の桁が、1差か0差か、それ以外か
F xより大きいものを含まない区間に分ける。それぞれについて、累積和を取り各値を取るindexをdict(list)でもつ。[l:r]について考えるなら、lは、累積和がS[r]-sで、rの前のxを取るようなindex以前のもの。この個数は二分探索で求まる。
G. Gangsta
2025年6月18日水曜日
CodeQUEEN 2025 予選 (AtCoder Beginner Contest 410)
F 一行ごとならZero-Sum Rangesみたいに解けるので、H*H*Wの計算量になる。H,Wの大小で場合分けすれば解けると思ったがPyPyだとTLE一個が取れない。仕方なく、AtCoder生成AI対策ルールを久々に見に行き、RUSTに変換してもらったら2784 msでACした。
— titia (@titia_til) June 14, 2025
G - Longest Chord Chain
2025年6月16日月曜日
AtCoder Regular Contest 200 (Div. 2)
AtCoder Regular Contest 200 (Div. 2) AB二完。
— titia (@titia_til) June 15, 2025
A Ai/Biが異なるものがあればその二つで作れる。Ai/BiとAj/Bjの間にある分数はStern–Brocot木を思い出せば作れる。
B 100と11100みたいなので大体作れた。
C Li<Lj<Rj<Liのときjからiに辺を引く。その中で辞書順最小かと思ったが、8caseしかACしない。