1
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.はじめに

 今一調子に乗り切れない今日この頃。
 今回はABCを順調にクリアしましたが、D問題でブレーキ。
 小手先のTLE対策で何とかなるかと思いましたが
 最後の方で根本的な考え方の違いに気づき修正するも時間切れ。
 
 3問正解だったのでちょっとだけレートは上がり、+6の756と
 またもや微増でした。

1. A - Black Square

 A問題なのに一見ややこしそうな問題。
 とはいえ、よく読めばXとYの範囲がそれぞれともに
 PとQから+99マス以内にあれば条件を満たすので
 それを判断してYes or Noを出力してACとなりました。

 https://atcoder.jp/contests/abc441/submissions/72502305

2.B - Two Languages

 こちらもBとしてはまぁまぁ難しい問題。
 最初勘違いしていて解答自体は変なロジックになっていますが
 単語の文字毎にがSとTにある数をそれぞれカウントし
 単語の文字数とそれぞれのカウント数がどちらかのみ一致すれば
 一致した方の名前を、両方一致したらUnknownを出力することで
 ACとなりました。

 https://atcoder.jp/contests/abc441/submissions/72517509

3.C - Sake or Water

 一転、C問題にしては簡単だった問題。

 【考え方】
  ・最悪のケース(一番液体を選ばないといけないケース)は
   カップ内の液体の量が多い方からN-K分水が入っていて
   それ以外のKカップに日本酒が入っている時
  ・その場合にXml以上酒を得るには
   少ない方からKカップ内の多い方から
   Xmlを超えるまでカップを選べばよい

 【実装】
  1.N,K,XとリストA(index-0)を入力する
  2.リストAを昇順ソートする
  3.変数sml(飲んだ酒の量を保持)変数C(飲んだカップの数)を0で初期化
  4.以下、iをK-1から0までの間1ずつ減らして繰り返す
   -1.smlにA[i]を加算
   -2.Cに1を加算
   -3.smlがX以上の時C+NからKを引いたものを出力して終了
  5.ループが終わってもsmlがX以上にならない場合は-1を出力して終了

 https://atcoder.jp/contests/abc441/submissions/72524742

4.D - Paid Walk

 一見難しそうですが、Lが10以下という制限があるので
 何とかなりそうと思い取り掛かりましたが、てこずりました。

 【誤った方法】  
  ・スタートする頂点を1~Nまで設定して繰り返し
   条件に見合う形で1に到達できれば回答用リストに登録
   最後にリストを出力して終了

 この方法だと、4の10乗をN回繰り返すことになりTLE
 時間終了間際、こういう問題では1から各頂点に到達する形で
 1回の4の10乗の走査で問題を回答できると思い出し何とかしようと
 しましたが、ACとなったのは終了6分後でした・・・。
  

 https://atcoder.jp/contests/abc441/submissions/72561183

以上

1
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
1
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?