#abc477
#ABC477 2問解けました
September 26, 2026 at 1:40 PM
ABCDE の 5 完。F は TLE になりそうなのしか思い浮かばない。 #abc477
September 26, 2026 at 1:47 PM
すっかり青色が板についてしまっている

mjtaiさんのUNICORNプログラミングコンテスト2026(AtCoder Beginner Contest 477)での成績:392位
パフォーマンス:1974相当
レーティング:1777→1798 (+21) :)
#AtCoder #ABC477
atcoder.jp/users/mjtai/...
September 26, 2026 at 2:20 PM
abc477
ABC3完
September 26, 2026 at 6:12 PM
実装力が低くて F に時間がかかり、結果として黄パフォを逃した感がある。E までは割と順調だったんだけどなぁ
September 26, 2026 at 1:42 PM
Eのミスに気付けたら1000行ってたかもしれない回
yakiringoさんのUNICORNプログラミングコンテスト2026(AtCoder Beginner Contest 477)での成績:2786位
パフォーマンス:1184相当
レーティング:936→963 (+27) :)
Highestを更新しました!
#AtCoder #ABC477
September 29, 2026 at 3:12 AM
ABC477
C TがSより短いとは限らない(1敗)
D 逆から
E N+1からダイクストラ
F C=1が解ければいい
G ABC174Fを見に行ったが
September 26, 2026 at 1:47 PM
ABC477-EはN+1からのダイクストラ出てきたし解法は良かったのですが、そもそもグラフの構築にミスがあったのに気づかなくてそれ直すだけなのにAC出来ませんでした、、惜しい。
September 27, 2026 at 4:12 PM
Nissylog246さんのUNICORNプログラミングコンテスト2026(AtCoder Beginner Contest 477)での成績:5901位
パフォーマンス:640相当
レーティング:1088→1050 (-38) :(
#AtCoder #ABC477 atcoder.jp/users/Nissyl...
コンテスト成績証 - AtCoder
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技プログラミングを用いて、客観的に自分のスキルを計ることのできるサービスです。
atcoder.jp
September 26, 2026 at 2:24 PM
doDaylightCycleさんのUNICORNプログラミングコンテスト2026(AtCoder Beginner Contest 477)での成績:2620位
パフォーマンス:1219相当
レーティング:1204→1206 (+2) :)
#AtCoder #ABC477 atcoder.jp/users/doDayl...
微増🙂
コンテスト成績証 - AtCoder
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技プログラミングを用いて、客観的に自分のスキルを計ることのできるサービスです。
atcoder.jp
September 26, 2026 at 2:21 PM
ABC477

B
二重ループで適当に

C
O(len(S)*len(T)) で、あらかじめ T が含まれる箇所の開始地点を列挙しておく。
各クエリに対し、クエリの終点を len(T)-1 分だけ減算した後、クエリの範囲内に列挙した開始地点が含まれているかどうかを判定する。

D
クエリを逆順に見ていって色を確定させていく。色が確定したマスはもう考慮する必要がなくなるので、その分計算量をおとせる。
September 26, 2026 at 1:40 PM
忘れかけてたけど今日はABC477で僕と握手 今回もC問題を爆速でしばけられたらいいなと思いつつ自信なしスタンスを貫いていく
September 26, 2026 at 11:26 AM
ABC477 ABCD 4完

C 前計算で、Sのあるindexからスタートして|T|文字がTと一致しているかを最初に出しておく。
Tの方がSより長いケースを見落としていた。

D クエリを後ろから見ると良い。ある瞬間に塗ることができる対象はsetで管理できる。クエリを逆から見ているので、一度塗ればもう上書きできない、と考えることができる。

E 基本累積和だけど超頂点N+1でショートカットできる感じ...?よくわからない。

F imos法みたいな感じで解くことを考えると、Q*4箇所の座標だけ見ればよく、そこに黒四角の数を集めておけば解けそう。
集めるコードをどうしたらいいかわからず。
September 26, 2026 at 1:45 PM
[ABC477]
C:|S|<|T| あるのか…
D:ひどい目にあった。全く原因不明のTLEをしていて、Setが怪しかったのでしかたなくIndexSetを即席で実装したらそれもバグってランダムテスト回すはめに
後で調べたらCrystalのSet(というかHash)が一度大きなバッファを取った後でclearするのが(一度clearしたあとのその後のclearも)とても遅いようだった。shrink-to-fitしたいけどそのAPIはないので新しく作り直すしかなさそう
この挙動は初めて出会ったなあ
F:x方向にイベントソート
September 26, 2026 at 1:41 PM
ABC477おわりっ!84分32秒でABCDE問題を2ペナ5完!

A問題はmatch式でやるだけ

B問題は全部チェックしても普通に間に合う

C問題ちょっと難しい
前処理として、Sのi文字目から|T|文字がTに一致するかどうかの配列を作り、これの累積和を作る
クエリごとに累積和の差をとれば、特定の区間内での部分文字列のマッチ回数がわかるので、これが0じゃなければYes

D問題だいぶ難しい
愚直にやるとクエリ2の連打で死ぬ
クエリ1の処理を、次のクエリ2の直前まで遅延させて、色の反映を一気に行うことでTLEを回避
最初、単にタイルを置いた時点で色を塗っており、2ペナ
September 26, 2026 at 1:51 PM
#ABC477 メモ
ABCDEF 6完 81:19
解法がわかる≠実装ができる

A:丁寧にif文

B:二重ループで全ペア確認

C:部分列の開始地点をピックアップ、範囲内に開始地点があるかどうかを二分探査とかで

D:こういうのは逆からやるとよさそう。タイルがなくて色のないグループをsetとかで見つつ色を塗るときに一気に塗る。setはタイルが変化するときだけチェック

E:つまるところ(N+1)番目を活用するOR円周だけで行くの2パターン。
(N+1)番目への最短経路は円周を使うかもしれないのでここだけダイクストラで検索。円周は累積を二周で何とかなる

(続く)
September 26, 2026 at 1:44 PM