ABC278 (2022/11/19)
〇A問題
Yuto.icon 無駄に綺麗に書こうとして少し手間取った.結局汚いまま出したけど,解説見たら同じことしてた.
CarpDay.icon 慎重に解きました.スライスに感謝.
sakana.icon数値をリストに読み込んで、後ろを0で埋めてずらして出力しました。
〇B問題
Yuto.icon 問題を理解するのに少し時間がかかった.汚いコードだけど一発で通せたので良かった
CarpDay.icon 何となくICPCっぽい雰囲気.ABCのB問題にしては問題が長いね.確実性を重視して,素朴に実装.
sakana.iconプリント文に余分な文字を入れていて一度WAでしたが、修正後通りました。数値の型を弄りすぎてややこしくしてしまったかもしれません。
〇C問題
Yuto.icon 関係を辞書で管理すればok.A~Cの中でCが一番簡単だった.
CarpDay.icon 各クエリをO(1)で処理する必要があるので,辞書と集合で対応しました.
sakana.icon一度読み込んでみたのですが上手くできず終わりました。
〇D問題
Yuto.icon 最初見た時セグメント木かな?と思ったけど,そんな大層なもの要らないなと気付く.query1が重い(O(N)かかる)ので,それを何とかすれば良い...はずが何故かWA.最後まで1WAが消せなかった...公式解説見たけど同じことしてるしどこがダメなのか分からん.誰か教えてください
Yuto.icon コンテスト終了後,めちゃくちゃ悩んでようやくコーナーケースを把握した.query1でx==0の時,バグっていた.
CarpDay.icon セグ木からquery1への対応まで,上の方と同じ思考(^^).私は運良くACでした.
〇E問題
Yuto.icon 最初は難しそうだと思ったけど,落ち着いて問題を見るとimos法(二次元累積和)だと気付く.k, lを全通り試すとして$ O(10^4).残り$ O(10^3)くらいは使えるので,全ての整数(高々$ 10^2)についてimos法をすれば解けそう→imos[num][y][x]を作ってる最中でタイムアップ.途中でCarpDay.iconみたいに集合で差分計算する方針に寄り道したりしてたら,コンテスト終わっちゃった...
CarpDay.icon 2次元いもす法の集合版?と考えて実装するも,サンプルすらWA.時間内に間に合わず..解説見ないで解いてみます.コンテスト翌日,2次元いもす実装するもTLE.諦めて解説見るが,やり方同じ!?(TLEの原因はループ順でした)出題者の想定解法見て納得.そのやり方で何とかAC.実装にむっちゃ時間かかったので,本番でその方法思いついても間に合わなかった.類似問題を再利用したり,構築力付けたりして,時間との戦いに勝ちたい.
〇F問題
Yuto.icon Dで沼ってE,Fと目を通した.ゲームDPっぽいなーと思ったけど,ここまで辿り着けなかった
CarpDay.icon 残り10分でE問題への集中が切れて,F問題を覗く.単語間の関係を表す有向グラフ作ってDPだろうな.でも10分じゃ実装無理だ..後日,TSPをbit DPで解いたプログラムを再利用してACできました.