E 正六角形に充填していくのが最良。(0,0)から置いて行ったら通らず、ちょっとずらして、不要なものを消したらいけた。(WAは出力がnより大きいせいかも)
— titia (@titia_til) April 21, 2026
F k番目の辞書式最小化をしようとしていた。これはsuffix-arrayで二分探索するとできそう。サンプルが合わず、終了30秒前に最大化だと気付いた。
2026年4月24日金曜日
Educational Codeforces Round 189 (Rated for Div. 2)
2026年4月21日火曜日
AtCoder Regular Contest 217
AtCoder Regular Contest 217 AB二完。Bはまあまあ速かったがCもDも解けず。
— titia (@titia_til) April 5, 2026
A sampleがヒント。0 1 3 2 4 5 7 6……。
B 実験。各iを動かせると+2^i。iの左により大きいものが置いてある確率。
D Mが大きい方から考えると、ある品物を買うときの挙動が繰り返されるからメモ化できる気がしたが解けず。
C - Greedy Customers 2
2026年4月19日日曜日
キーサイト・テクノロジープログラミングコンテスト(AtCoder Beginner Contest 454)
E 市松模様に色分けすることでNoの条件は分かるが、構築に苦戦。(A,B)を含む二行を特別視することで構築できた。
— titia (@titia_til) April 18, 2026
F 区間+1/-1加算によりmod Mで全ての要素を0にする操作回数の最小化になった。この問題が解けない。
F - Make it Palindrome 2
2026年4月17日金曜日
AtCoder Beginner Contest 453
E a人とN-a人に分けるとする。どちらにも入れない人がいる場合は双対セグメント木を使って除く。a人とN-a人が可能な人数を累積和で前計算しておくと、鶴亀算でどちらにでも入れていい人数が分かる。二項係数で計算。
— titia (@titia_til) April 11, 2026
G - Copy Query
2026年4月16日木曜日
AtCoder Beginner Contest 452
AtCoder Beginner Contest 452 Fまで。
— titia (@titia_til) April 4, 2026
C len(S)ごとにSを列挙し、(Ai,Bi)の候補を挙げておく。
D 久しぶり。https://t.co/NeYvsecE9N
E Bのindexを固定とすると、0 1 2 0 1 2……みたいな係数をA[i]にかけて和を取るものになる。累積和で頑張る。計算量に調和級数のlogがついた。
G - 221 Substring
2026年4月9日木曜日
Codeforces Round 1091 (Div. 2) and CodeCraft 26
D ランレングス圧縮した後、左右の端から削っていくとか考えたが上手くいかず。
— titia (@titia_til) April 7, 2026
E 大きい数字を後ろから入れる貪欲を考えたが上手くいかず。正当性もまずそうだし、計算量も三乗になりそう。
D. Flip the Bit (Hard Version)
Codeforces Round 1090 (Div. 4)
F x=0のときは、yが奇数なら二分木みたいにして作れる。そうでないときは、y>=xならYES。最初に直線で並べたあと、二つずつ枝分かれさせる。
— titia (@titia_til) April 4, 2026
G B_iの値が小さい方から見る。Counterと隣接する値で決まる。