ABC376 (2024/10/19)
〇A問題
まーす.icon前回に飴をもらった時刻を記録して,その時刻との比較でansに1を加算するかを検討.
tako.icon 前回押したときからと誤読して時間ロス
まーす.icon同じミスしてた.......修正めんどいから,差分とって考えてみたが,WA.???
Kaplam.iconやるだけ
kakip.iconやるだけ、なんか最初easytestが動かなかった
CarpDay.iconやるだけ
〇B問題
tako.icon 右回りと左回りでシミュレーション
まーす.icon上に同じく.途中で,動かさない手の位置に動かす方の手が移動する場合も考慮するのかと勘違いして,ゲシュタルト崩壊してた.実装だるい.
Kaplam.icon運動ゲーム思い出した
kakip.icon動かさないほうの手からの相対位置で考えると楽
CarpDay.icon移動先に向かう途中に邪魔があるなら迂回する
〇C問題
tako.icon 大きいほうから順番に詰めていく
まーす.icon日本語がむずい.実装は体感Bより簡単.方針は上に同じく.
Kaplam.icon多分同上
kakip.iconおなじく
CarpDay.icon同じく.全部詰めることができて,一番小さいおもちゃに合わせるケースが漏れていて1ペナ.反省.
〇D問題
tako.icon 「頂点1を含む閉路」の部分を見落としていてサンプルがハンドシミュレーションと合わなくて時間ロス。
Kaplam.icon1からBFSして次に1が出てくるまでの距離
kakip.icon最初無向グラフだと思っててすべてが狂った
CarpDay.iconダイクストラで1からの最短距離を求めて,1に移動できる点の距離の最小値+1
〇E問題
Kaplam.iconmaxAiが小さい例から考えて、今のAiの時に入っているBの1~k-1番目の和をsortedlist使って管理して~みたいな 折角調子よく行けたのに1文字書き間違えててWA勿体なかった_(:3」∠)_
kakip.iconAでソートして、heapqでBの和を更新していくかんじ
CarpDay.iconsortedlist用意して,最大のAを1つ選んで,残りはBの小さい順にK個選択した状態からスタート.選択した中で最大のAを除き,採用済みの最大Aと未採用の最大Aを比べ,前者が大きいなら未採用から最小のB,後者が大きいなら未採用から最大のAを選択.ロジックはあってそうだけど,TLE4.
CarpDay.icon上のお二人さんのコメント見て,Aを小さい順にしたらプログラムがシンプルになって無事AC.
〇F問題
Kaplam.icon片方の場所は前のターンで固定されるしDPで出来るんだとは思ったけど左回り右回りとかの処理書くのだるそうで40分で終わらない気がしたのでやらなかった
kakip.iconめんどくさいDP。計算と実装をがんばる
CarpDay.iconコンテスト後に見る.DPかな?と思ったけど,右手と左手混じるとそんな簡単じゃなさそう.BFSのように1手ずつ状態列挙して,状態間比較して劣状態は削除することすれば,意外に状態増えないことを例3で確認(するのに1時間ぐらいかかっているのでコンテスト中にはとても解けない)したけど,実装が大変そう.
〇G問題