LoginSignup
0
0

0.はじめに

 A~Cは順調に解けましたが、Dがややこしくて回避。
 Eは何とかなる!と思って取り組みましたがTLEを何とかできず時間切れ。
 解説を見るとDは累積和の典型のような問題でしたし
 Eももう少し考えれば行けた感じで逆に壁を感じました。
 A~Cだけだった割にはレートは+19と上がってました。

1.A - Tomorrow

 独自の月・日の概念を持つ国で翌日を求めるという問題。
 普通に年代わり、月代わりのタイミングでないかを考慮して
 日or月or年に1を加算or日or月を1に戻すという
 場合分けをするロジックを組みました。

 https://atcoder.jp/contests/abc331/submissions/48098753

2.B - Buy One Carton of Milk

 Nの上限が100のため、6個セットでも17セット買えば事足りるため
 それぞれループの組み合わせで最適解を求めました。

 https://atcoder.jp/contests/abc331/submissions/48110671

3.Sum of Numbers Greater Than Me

 TLEにならないための一工夫が必要な問題
 リストの要素ごとにその要素以上の数の合計値を持つ
 辞書を作成し、その辞書をもとにリストの値毎の要素以上の合計値を
 表示することで、TLEを回避。

【実装】
  1.要素数N、リストAをインプット
 2.Aを降順ソートしたSAを作成
 3.空辞書D(キー:A内の要素、値当該要素の以上の値の合計値)を作成
 4.変数C(前要素をセット)を定義しSA[0]をセット
 5.辞書Dのキー:Cに値0をセット
 6.変数S(当該要素以上の数の合計)を定義し0をセット
 7.以下をi=1~Nまで繰り返し
  7-1.SA[i]が前要素Cと違う時
   7-1-1.CにSA[i]をセット
   7-1-2.D[C]にSをセット
   7-1-3.SにSA[i]を加算
  7-2.SA[i]が前要素Cと同じ時
   7-2-1.SにSA[i]を加算
 8.回答出力用リストansを定義
 9.リストAを先頭から見ていき、ansにD[A[i]]を追加していく
 10.ansを出力して終了

 https://atcoder.jp/contests/abc331/submissions/48114642

4.D - Tile Pattern

 自前では解法が全く分からず、解説を見て理解。
 1)0,0から、当該マスまでの黒マス数合計が分かれば
  2座標間の黒マス数を求められる
2)タイルの各マスまでの黒マス数合計が分かれば
 0,0から、当該マスまでの黒マス数合計が求められる
 という2つについては、解説を見たら理解できたので
 実装してACを取り、次は解ける!と思いました。

 https://atcoder.jp/contests/abc331/submissions/48165559

5.E - Set Meal

 コンテスト時は、N*M回何かをする解法しか思いつかず
 TLE×13を解消できませんでした。
 コンテストの単純な解法を見て
 試したところ、L個の条件を短銃んに辞書で持つだけでは
 TLEが1個消せませんでしたが、値をset型にしたところ
 ACとなりました。
 ネックとなっている部分の見極めも重要であると感じました。

 https://atcoder.jp/contests/abc331/submissions/48159370

以上

0
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
0
0