C 大きい二つ?を端に寄せ、後は偶奇を交互に。二つで良いか分からず、端の候補を3*3個試した。
— titia (@titia_til) September 5, 2026
D 3個の場合を考えたら、最小値がKの倍数で、それを除いた余りがk未満なら負けそう→未証明AC!
E 辺2、辺3でいける場所をUnion-findで繋ぐ。辺1でdfsし、そこから[find(2),find(3)]が等しい箇所へ進む。
titiaのノート
2026年9月7日月曜日
AtCoder Regular Contest-- 229
ACDEの四完。
コンテスト後のツイート
解説AC。
全く考えていない方針だったのでびっくりした。
Nが小さいからシミュレーションみたいなことをするのでは? という方向性でしか考えられなくなった時点で負けている。
全ての要素を0にすることは可能か? と考えて必要条件で絞っていかなくてはいけなかったが、一旦まずい方針にハマると難しかった。
2026年9月4日金曜日
AtCoder Talent Quest 〜 今から28卒には脱出してもらいます〜予選(AtCoder Beginner Contest 472)
Gが解けず。
コンテスト後のツイート
Gはフローっぽさは感じたが、貪欲でいい気がしてしまいダメ。Hが大きい方から貪欲すれば良い気がしてしまい、反例が見つけられずに終わった。
— titia (@titia_til) August 22, 2026
G - Cascading Grid
「燃やす埋める」だと聞いても解法が分からず、けんちょんさんが最近出した記事を読んでAC。
が、この記事の解法通りの方法は思いつけず、グリッド中の、#でない最も左端の頂点だけを取り出し、そこから左右だけを見たときのスコアの増減を見て、その頂点同士の木構造を調べて、ようやく燃やす埋める問題に直せてACできた。
その後、けんちょんさんの解法も理解してACしたけど、その実装にも苦戦。
「燃やす埋める」の中では簡単な問題と書いている人もいたが、個人的には簡単に思えなかった。もっと慣れたら違うのかなぁ。
2026年8月31日月曜日
AtCoder Regular Contest++ 228
一問も解けずおしまい。しかし、Bは解けなくてはいけない問題だった。
コンテスト後のツイート
AtCoder Regular Contest++ 228 一問も解けずおしまい。
— titia (@titia_til) August 30, 2026
B ずっと後ろから貪欲を考えていたが、終了10分前、前から貪欲なのでは、と思い提出したらWAがなくなりTLE。
あとはセグ木で高速化すればできそう! と思うが実装間に合わず終了。(コンテスト後実装し終わったがまた答えが合っていない)
B - Minimize Topological Order
コンテスト中の方針でAC。
値を変更したらセグ木の更新を二ヶ所しなくてはいけないのに、一ヶ所しかしていなかったせいでした。
最初にとりあえず一列に並べて置いて、後ろの一段を先祖のどこかへ付け替える……と考えていたのがまずかった模様。これだと正当性がよく分からないし、葉から考えるのが自然(?)にも思える。
根から順番に木を構成すると考えれば貪欲の正当性も分かりやすかった。
AtCoder Beginner Contest 473
久しぶりの全完だが、良い順位とは言えず。
Dは「最後の一要素を場合分け」が正当であったらしい。確かに、これをすれば無駄な探索を省けるが、こういう枝狩りみたいなのを要求されるると思っていなかったため、思いついた後も正しい解法とは思えなかった。
コンテスト後のツイート
F セグ木。昨日https://t.co/PoO3wX8ZkIを解いていたのが良かったかも。(yukicoderのこの問題を自力で解けなかったのは大いに反省しています)
— titia (@titia_til) August 29, 2026
G 実験してoeisに入れたらhttps://t.co/3Xgdhp4S3dが出てきて、(x+1)*(x+2)*...(x+n)と書いてあったのでFFT
2026年8月21日金曜日
JPRSプログラミングコンテスト2026#2 (AtCoder Beginner Contest 470)
既出に気付けたおかげで、久しぶりに2400パフォを獲得。全完チャンスだったねぇ。
コンテスト後のツイート
F 連結成分中に同じ数がなかったら/2する。
— titia (@titia_til) August 8, 2026
G 順位表を見ると既出っぽいので、「sum of mex yukicoder」で検索→https://t.co/2uR6CX9oSZ
の提出からもらってきました。感謝。
E - Concentration
自力AC。
DP[x毎既知][y毎取得][z消費ライフ]とする方針で合っていた。
コンテスト中は、y枚取得しているとき残っているカードの枚数をN-yにするのを忘れて、yのまま計算していたため答えが合わなかった。
これくらい気付いて欲しいものなのだが、今(コンテスト後)にコードを見直したときも気付けず、デバッグ出力を行って気付けたので、コンテスト中に気付けないのは仕方ないのかなぁ。
2026年8月18日火曜日
AtCoder Regular Contest 227
AB二完。
コンテスト後のツイート
AtCoder Regular Contest 227 AB二完だが両方とも苦戦し大失敗。ABの後はDを考えていたが分からない。
— titia (@titia_til) August 16, 2026
A 中央値
B 複数ある数は後で数合わせに使える。
D - Median of Binary Strings
解説放送を見てAC。
全く思いつかなかったのでどうしようもない。なかなか天才的な発想が必要だった。
これはコンテスト中に解けた気がしないので、他の問題にいくべきでした。
2026年8月14日金曜日
ユニークビジョンプログラミングコンテスト2026 夏(AtCoder Regular Contest 226)
Bまで二完。
コンテスト後のツイート
C 5*5が5個埋まるので、(4n+1)*(4n+1)は空きを4n+1個にできると予想。→終了30秒前に(5*5→9*9→13*13……の)構成方法が分かったが何もできず。(一般の場合は分かってないけど、あと10分くらいあればできそう?)
— titia (@titia_til) August 9, 2026
C - Square Corner Packing
自力AC。
ツイートに書いた解法であっていた。HかWが偶数の場合は愚直で良く、(4n+1)*(4n+1)の最大の正方形を入れて、あとは愚直でOK。
が、実装は大変だった。10分ではとても実装終わらず。早く実装できている人は凄いなぁ。
登録:
投稿 (Atom)