/ 最近 .rdf 追記 編集 設定 本棚

log[20230429]



20230429() [AtCoder] 今日はユニークビジョンプログラミングコンテ2023(ABC300)があった。自分のすべての提出コンテト成績証ABCDE の5完水パフC 問題からふりかえりCCrossってんの大きさを計って集計する問題文がちっと難しかった✖印の判定条件の3つ目X 字の先端4点の延長にある4点のうち少なくとも1つは . であるという内容だった理由はわかるさもなければそれはより大きいばってんとして数えられるべきだからだでも本文中「バツ印を構成するマス以外に # は書かれていません「異なるバツ印を構成するマス同士は頂点を共有しませんという条件が書かれているそうすると結局判定条件として「少なくとも1つは .だけど実際に入力されるもの「4つとも . になっているということだ別にそれで問題はないないんだけど全体として過不足なく丁度になっていないことで考え漏らしがあるかと疑念が生じて考えてしまったあと「頂点ってなんだ?と具体例を読めばグリドの十字部分らしいとはわかるけど推測ですよ解答は X 字の右上がりでも右下がりでもいいので端点を見つけて長さを計るちなみに最初に考えた解法は UnionFind を使うもので問題文を読むときも UnionFind が使えるかどうかを確かめながら読んでいたでも判定が簡単そうだったので UnionFind は書かないで済ませたDAABCC来たよ苦手な苦手な D 問題数学(素数)diff(予想)数字と友達になれないと TLE になるやつ解けなかった ABC296-DM<=abの反省から N の平方根の範囲で何かする制約だとはすぐに読み取った(この前はそれすらできなかった)あとはやや長めの3秒制限を信じて打ち切りながら全列挙した自分の提出は Ruby の中でも一番遅い部類苦手なんだよEDice Product 3確率の問題。Ruby による他の提出を見ると一番早い提出がたぶんメモ化再帰で自分のと全然違っていた自分の解法まずN が2と3と5の積に分解できなければいけないので因数を数える4と6の目はひとまず無視して2と3を数える1の目は最初からないものとして5面ダイスで問題を解くその場足踏みはサイコロを振らなかったのと同じことなのでN が2と3と5に分解できたら6の目と4の目の数を決め打つ総当たりでダイスの目の並べ方を組み合わせで求めて確率を出す。解答の C 関数の定義がやや不自然だった引数を nrs から rs だけにして nrs.sum で求めることにすると無駄がなかったFMore Holidays解けなかったのでこれは精進方針は1つの x で区切られた長さ 0 以上の o の連続をK 回連結することを考えるK はべらぼうに大きな数になりうるけど仮に入力 S に含まれる x の個数が X 個だとしたら K/XK%X を使ってうまく数える罠がいくつかあるどの o の連続から数え始めるかを全探索するのだけど後ろの方から数え始めて K 回連結したときにうっかり T の長さ NM を超えてしまわないことまだある入力の先頭と末尾が o の文字で操作回数 Kx の個数の倍数で繰り返し回数 M が十分に大きいとき末尾と先頭にある o の連続を一体で扱わなければいけない