こんばんは。松井です。
そういえばですが、先週、
AtCoder Beginner Contest 408に参加してきました!
▼自分の提出
▼コンテスト後のスコア
下がりましたねえ。
参加してみたところ、
AでWAをだし、後にAC。
Bは完答。
Cは、TLE。
D,Eは手付かず、
Fはいけるかもと思って、コードを書き始めるもできず。。
Gもダメ。
端的にいえば、惨敗でした。笑
4年ぶりのコンテスト参加でしたが、
問題を解いていて、
「これ、解法はわかりそう、でも、実装方法が分からん。。」
っていうのが課題なように思いました。
C – Not All Covered に関しては、
処理時間オーバーとなってしまいましたが、
提出した実装で、解けてはいたみたい。
ただ、その実装では、
O(NM)で、NM > 10^11 なので、時間的にアウト。
imos式で解ける内容で、その名前と内容は知っていて、
一瞬、頭に思い浮かんだのですが、
今回の問題でどう使ったらよいのか、分からず、使用できず。
D,E,F,Gは、解説を読みましが、理解できませんでした ^^;
AtCoderの勉強は、
まずは基本的なアルゴリズムを、丸暗記して、
コードでの実装までスラスラいけるところまでを目指そうかな、と思ってます。
勉強法は「E判定からの大逆転勉強法」をベースにやっていて、
まずは、基礎となるアルゴリズムを徹底的に固めるつもりです。
この本にも書かれていることですが、
勉強というと、多くの問題集を解くことと思われがちですが、
実際に大切なのは、
『自分が解けない問題が、解けるようになること。』
いくらたくさん問題を解いても、
理解してないアルゴリズムや、対応できない出題パターンを
克服していなかったら、
毎回のテストの点数は、ギャンブルになってしまいます。
だから、自分が解けなかった問題/苦手な問題
を徹底的に潰すのが、大切です。
とはいえ、
大学受験であれば、
(数学の場合)白チャートを徹底的にやり潰すのがいいのですが、
AtCoderに白チャートはないので、
AtCoderで出題されるアルゴリムについて
まとめてくれているサイトをいくつか調べて、
いったん、35問に絞って、それらを勉強しています。
自分が解けない問題を、把握する。それに立ち向かう。
自分が知らない、理解できていないアルゴリズムを把握する。
そして、それが分かるように勉強する。
これは、プログラミング以外でも同じですね。
読書が苦手だから、読書しない。
ひとと話すのが苦手だから、話さない。距離を置こうとする。
苦手なひとと関わりたくない、から、避ける。
それでは、苦手なものも一生苦手のまま。
今日、友人と話してたんですけど、
彼は、からだを動かした仕事は得意で、どんどんできるし
優秀なんですけど、
どうも、文章書いたり、資料を読んでまとめたり、
という作業を避けてしまいがち。
からだを動かして、すぐに成果がでるものはできるんだけど、
地道に勉強して、いつ成果がでるか分からないようなもの、
そういうものを避けてるよね、
と、社長から指摘を受けたそうです。
それを受けて、
今日、彼は「論語物語」をもってきて、頑張って読んでました。
小さなことでも、苦手なことに立ち向かっている姿というのは
素敵だと思います。
僕も負けないぞ、と、小さく思い、頑張ってきます。(当然、本人には言わない)
では、今日はこのへんで。
ここまで読んでいただき、ありがとうございました!
松井