競プロっておいしいの?(仮)

ABC084 参加記録

Good Bye 2017

私の競プロ人生が始まった年が終わりました。

今度まとめ記事でも書こうかしら。

今年レート変化~~~~

0(undefined)→1214(Highest:1240)


ABC084 解説。

A問題

Submission #1925336 - AtCoder Beginner Contest 084

2日は48時間、A時間だけ引き算しましょう

cout<<48-A<<endl;

B問題

Submission #1924189 - AtCoder Beginner Contest 084

前からA文字、後ろからB文字

をそれぞれ、substrして(部分文字列をとる)

その文字列全てに対して

0~9に当てはまってるかを確かめ、

(for(auto x:S)if(0<=x-'0'<9))のような感じ。

間の1文字がハイフンかを確かめて

上3つがすべて成り立つかどうかでYes/No分岐

C問題

Dのが簡単。

Submission #1926566 - AtCoder Beginner Contest 084

  1. i(カウンタ)で,N回ループを回す。
  2. Tを今までにかかってる時間とする。
  3. その中でfor( j | i+1~N-1)まで回す。
  4. TがS[j]以下ならT=S[j]+C[j];
  5. それ以外なら
    ((T-S[j])/F[j]を切り上げたもの)*F[j] + C[j]
  6. でTを出力する。

D問題

Submission #1925336 - AtCoder Beginner Contest 084

  1. 素数を列挙。
  2. その過程で、素数が出てきたら1足して2で割ったものが素数かどうか判定して S[その数]=1とする。
  3. S[]の配列で累積和を取る。
  4. 残りはクエリで累積和で計算して区間和を取る。
  5. おしまい。

感想

  1. A-Bはコンパイル無しで行く縛りをやりました。
  2. Cは捨ててDを通した。累積和優勝。
  3. D、素数判定、ライブラリほしいな。
  4. C、問題文読みチャレンジに成功した。
  5. けど、注意力がなさすぎてだめでした。
  6. さて、みなさんは私を超えられましたか?

私が今年参加するコンテストはこれで終わりです。

良いお年を。