ABC318 (2023/09/02)
https://atcoder.jp/contests/abc318/tasks
〇A問題
yuichang.iconn回for文回した
CarpDay.iconM日目以降で何回月が見られるか計算して+1.0回の場合も忘れずケア.
Kaplam.iconwhileで超えるまで回す
kakip.icon(n - m) // p + 1でなぜか通った CarpDay.iconすごいな!
おたふく.icon kaplam.iconと同様。
〇B問題
yuichang.icon3重ループで愚直に判定
CarpDay.icon必死でいもす法を実装.3重ループで間に合うね..
Kaplam.icon三重
kakip.icon2重で書いて途中で断念
おたふく.icon 入力例1の図でもあるように長方形を全て1四方の正方形に区切り、それぞれの長方形で考えられる正方形の領域を全てsetで格納し、setの要素数が答えになる。
〇C問題
yuichang.icon降順ソートして順番に見ていく。配列外参照でペナ
CarpDay.icon上に同じく,高い方からD日分とパスの料金Pを比較.最後のD日未満にも気を付ける.
Kaplam.icon多分上に大体同じ、方針は最初から合ってたけど数か所書き間違えてた上でサンプルが全部通ってしまったせいで修正に何ペナかかかった
kakip.icon上に同じ
おたふく.icon 降順ソートは皆さんと同じ。最初は前から順番に見ていって合計値がPを超えたとき、周遊パスを買うという方針で実装したがWAが解消できず、このままでは沼ると思い、思い切って方針を変更。こちらの方針は恐らくCarpDay.iconと同様。
〇D問題
yuichang.iconbitDP??。実装できず。dp(見た集合)(最後に見たidx)
CarpDay.icon方針思いつかずにE問題へ.E問題のあと戻り,DFSで実装中で時間切れ.コンテスト後に続きを実装する途中でTLE確信して諦める(解説にDFSによる方法あり).ふと,神(?)からの助言を目にした記憶が復活して,bitDPで実装したらAC.コンテスト中に思いつけるようになりたいなぁ.
Kaplam.iconすでに使っている点を使わないようにしてDFSしたらサンプル3つ目が手元でも時間足りなかったから色々試したものの結局ダメで最後にとりあえず出したら変に弄りすぎて他のサンプルすら通らなくなってて悲しみ
kakip.iconn=16を見て諦めた
おたふく.icon 制約条件よりN <= 16なので、bitDPであると思い、何とか実装。時間ギリギリで滑り込みセーフ。bitDPの良い練習になりました。
〇E問題
yuichang.icon真ん中固定するやつに見えるがDで苦戦したのでできず
CarpDay.icon同じ数の位置を集めたら何とかなるか?と思って,入力例に対してハンドシミュレーションしたら,法則性見つかって実装したら通った.ラッキー.解説の別解2に考えが似ていた.解説の3つのときは真ん中固定の考え方も重要ね.
Kaplam.icon軽く見てDの方が解けそうな気がしたのでそっちずっとやってたものの早い段階でDでTLE出てたのでE移った方がよかった気がする
〇F問題
CarpDay.icon見ることもできず...
#AtCoder #ABC