04/06 Diary
Diary AtCoder C++
Published: 2021-04-06

日記

「緊急じゃないけど重要なことがあるのに緊急なことをやるだけで1日が終わっていく」とか言ってると人生が終わっていくことに気づいたので、無理矢理にでも時間を作っていかなければいけないと決心を堅くした。

Kaggle - BirdCLEF 2021を覗く

鳥の鳴き声識別コンペ。まだ84チームしかなく、ベースラインで銅メダル圏内に入る。Notebookコンペっぽい。

今日はNotebookを見つけて動くのを確認して終わってしまった。

AtCoderを解く

AtCoderは緑と茶のふちに行って難しさを感じて以来あまりやらなくなってしまっていた。リハビリとC++の学習を兼ねて、C++で簡単な過去問から毎日続けようと思う。

bits/stdc++.hのmacでの環境構築を行なった。この1行で基本的なincludeは全てできるので競プロで便利である。(AtCoderの提出はこれに対応している)

あと、APG4bのC++チュートリアルはクイックリファレンスとしても優秀だった。https://atcoder.jp/contests/apg4b

ARC116 - A

A問題だがARCなので、愚直に約数とって〜というコードを書いていたらRTEで通らなかった。

学び:$10^{18}$はおそらく解けない? 計算量のオーダーを見積もる方法を復習する必要がある。 愚直に解くだけじゃなく、数学的・パズル的に簡潔にする方法を考える必要がある。

ABC197 - A

string型の捜査の復習。

rotate(s.begin(), s.begin() + 1, s.end());

rotateというのがあることを知った。

ABC197 - B

文字列のマトリクスの入力は一層のstring配列vector<string>で持つのが一般そう。

与えられた点から上下左右に向かうやり方をする場合は、あらかじめ重複を合計の初期値から差し引くと良さそう。

早い人の定型define文を解読・真似するのアリかもしれない。https://atcoder.jp/contests/abc197/submissions/21291888 など

インデックスが1スタートで与えられた場合は取り込み後に-1すると良さそう。

comments powered by Disqus