3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

0.はじめに

 落ちていくレートに歯止めを掛けたい今日この頃。
 A~Cは簡単に解けて迎えたD問題。
 最初の解法だとTLEだったので工夫してなんとか
 ACまで持っていきましたが3分ほどオーバーし
 あえなく3問まで。
 レートは-21の711と、某コンビニエンスストアのようになりました。
 21時過ぎに家に来た兄への対応が無ければ
 間に合ったのにな・・・と思いました。

1. A - Is it rated?

 今はレート外となってしまった懐かしいARCを題材にした問題。
 XとRの値をもとに場合分けして判定結果を出力して終了。

 https://atcoder.jp/contests/abc405/submissions/65643230

2.B - Not All

 問題がややこしく感じましたが、まぁ、B問題。
 制約も緩いので処理時間等気にせず分かりやすく実装しました。

 【実装】
 1)まずは、リストA内の数字毎の出現回数をリストLに集計。
 2)リストLを1からMまで見ていき、出現回数0の
   数値があれば、0を出力して終了。
 3)リストAを後ろから見ていき、リストAの値に基づき
   リストLの出現回数をチェック
   →出現回数が1なら、チェック回数を出力して終了
   →1でなかったら(2以上)チェック回数を1マイナスする

 https://atcoder.jp/contests/abc405/submissions/65649577

3.C - Sum of Product

 制約から、普通にi×j回処理したらTLEなのは明白。

 【考え方】
 リストの数がA,B,C,Dの4つの場合
 AB+AC+AD+BC+BD+CD
 =A(B+C+D)+B(C+D)+C(D)
 となるので、リストAの後ろからの累積和リストBを作り
 B=[A+B+C+D,B+C+D,C+D,D]
 リストAを先頭からN-1個目まで見ていき(index=i)
 A[i]×B[i+1]を集計すれば、解が求まる。

 後で解説を見て、別にリスト化しないでも、合計から、掛ける数を
 引いていけばよかったことが分かりました。

 https://atcoder.jp/contests/abc405/submissions/65660774

4.D - Escape Route

 3分遅れでACとなった悔しい問題。

 【考え方】
 ・各非常口から到達できるマスを幅優先で探索
 ・各非常口からの探索時にどの非常口から来たかの方向と
  非常口からの移動距離を保存
 ・各非常口からの探索時にすでに他非常口からの到達が
  出来てるマスであった場合、移動距離が少なければ上書きし
  大きければそのルートの探索を終了する

 上記で進めましたが、TLE
 まぁ、上記方法だと、効率悪いのはわかっていたので
 探索のチェックをキューで管理し、各非常口から
 近いマスを埋めていく方式にかえてACとなりました。 

 https://atcoder.jp/contests/abc405/submissions/65694004

以上

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?