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

 B問題すら難しい感じのコンテストで、苦戦しました。
 どうにかABDを正解したものの若干レートを落として
 -9でした。

 E問題はもう少し頑張ればACもらえそうですが
 解説を丸々参考にして解いているのでここのメモは残さないでおきます・・。

1.A - Counting Passes

 さすがにA問題は単純な問題で
 リストを頭から見て、Lを超えている数を数える
 だけの簡単なお仕事でした。

 https://atcoder.jp/contests/abc330/submissions/47892558

2.B - Minimize Abs 1

 正直問題の意味が全く分からず、例題をみて、
 リストの値が、L以下ならL、R以下ならR、それ以外はリストの値
 ではないかと、直感的に思い実装したところ
 正解でした。

 https://atcoder.jp/contests/abc330/submissions/47903056

3.C - Minimize Abs 2

 コンテスト時は、XをDの平方根から1ずつ減らしていき
 それに合うYを求める・・・という方式を思いつきましたが
 TLEかと思い断念しDに行ってしまいました。

 コンテスト後、解説を見たら、考え方はあっていたようだったので
 改めて組みなおしつつ、微調整をしたところACをもらえました。

 【実装】
  1.Nの平方根をmにセット、ansに10の18乗をセット
  2.iを1~mまでループ
  2-1.Nからiの2乗を引いた数をpにセット
  2-2.pの平方根をqにセット(qはint型に切り捨て)
  2-3.ansに、以下の数の中で最小の値で置き換える
  ・ans
 ・Nからiの2乗とqの2乗をマイナスした数
 ・Nからiの2乗とq+1の2乗をマイナスした数
  3.ansを出力して終了

 https://atcoder.jp/contests/abc330/submissions/47955214

4.D - Counting Ls

 NがMAX2000なので、1回くらいはNの2乗のチェック可能と思いそこから組み立て。
 【考え方】
・列ごと、行ごとに”o”の数を求める。
・Sの表を端から見ていき”o”だった場合そのアドレスの
 行列のoの数-1をそれぞれかけた値をansに加算
・ansを出力して終了

 最初行だけ集計すればOKかなと思いチャレンジしてTLE等、無駄な時間を
 過ごしたことが悔やまれます。

 https://atcoder.jp/contests/abc330/submissions/47933991

以上

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?