せっかくだし入緑記録を書こう

 

 

 

 

折角緑コーダーになれたので、記念記事でも書いていこうと思います。

 

▼入茶記事

AtCoder 入茶記念として勉強法を改める - volcano-tofu’s blog

 

 

 

 

入茶記事の最後の方に「緑になるときはD問題100問解く!」とか書いてあるんですが、実際はD問題76問で済みました。

 

 

自分にとって無理のある目標を作るというのは向かないな、と今は反省しています。

現実味のある、今の自分が背伸びして届きそうな目標を立てて今後は頑張りたい。

 

 

 

そういえば、入緑にかけてですが、A問題とB問題は基本的に解いていないです。C もほとんど解いていない。(C はあくまで復習ぐらいしかしていないかも)

↓これは入茶時の記録



A, B, C 問題が各々 +30 ぐらいで、D は +40, E は + 15 ほど。

バチャコンに出たり、解いていないABCを埋めたりで A~C が増えているだけで、実際は D をメインに解いていました。

 

 

 

 

 

・やったこと

 

sano192さんという、とある緑python勢の方がいるのですが、そのsano192さんが出版している本やqiitaの記事を参考に勉強をしました。

 

本は以下のもので、茶コーダーの人が使うには丁度よい難易度だと思います。

https://qiita.com/sano192/items/eb2c9cbee6ec4dc79aaf : 精選50問詳細解説

https://www.amazon.co.jp/dp/B0BBB7RKTP  : 最速で緑になる本

 

ぼくは灰のときから購入しましたが、「自分はこんなものですらわからないのか」と挫折をして、その後半年程やめてしまいました。(今思えば半年間辞めてた人が急に参加し始めて、文法知識は灰レベルなのによく1ヵ月半で入緑できたなと思ってる)

 

 

あと、sano192さんはqiitaの記事でABCの緑diffまでの問題を解説していらっしゃるので、そちらの方を参考にしたりで色々お世話になりました。

qiita.com

 

python かつ 緑コーダー以下の人は検討してみてはいかがでしょうか。動画も投稿されていて、BFSやDFSはsano192さんのを参考にして実装できるようにもなりました。

もう本当に頭が上がらないです。

 

 

あと他にやったことといえば、バチャコンと緑diff, D問題埋めぐらい?

と、気付いたら自然と緑パフォが出てるような感じでした。

 

水パフォのABC271は水diffのDP問題を解けたため、跳ね上がっています。

その後はほぼ安定して緑パフォを出せているように見えます。

 

――――と、いい感じに見えるんですが、この水パフォを叩き出すのが非常に大変なんですよね……。

今後はただでさえ伸びづらいのがわかっているから、生半可な気持ちで取り組まないよう尚更問題の質を高めて苦しまないといけないのか……と、消極的に考えてしまいます。(笑)

水diff普通に難しすぎるのが嫌すぎるし、青diff以降とかもうレベチすぎて……。

 

 

まぁ、緑にかけてやったことはsano192さんの本を読んで、今の自分にはちょっと難しい問題を沢山解いたことぐらいですね……。

佐野さんの本が優秀すぎたというか、ぼくとの相性が良すぎたのがあるかもしれません。

 

 

例えばセグ木を勉強したところで、高度な問題が解けなければ履修したところで使えないアルゴリズムに分類されたりするので、”アルゴリズムを勉強する”というよりかは沢山問題を解いてどういう思考・アルゴリズムが使われているのか?を問いながら学習を進める方が良いような気もする。

 

 

あと、ぼくはこどふぉとかそのほかのやつやったことないです。あとこーだーしか興味なかったのでずっとあとこーだーの問題を解いてました。

 

 

 

・今後したいこと

 

AtCoder Problems の機能にある Recommendation をやろうかなーと考えています。

つよい人の記事を拝見すると大抵の方がやっていらっしゃるんですよねー。

なので、新たにれこめんでーしょんと水diff、E問題埋めをしたいかな。

あとEDPCも解いておきたい。

 

何か特別なやり方とか、近道があるだろう!とか全く思っていないし、何よりもぼく自身が人より倍以上努力しないとできない人間であることを重々承知しているので、上記の通り、今の自分がやるには少し難しい水diff問題やE問題を埋めていこうと思います。

 

(あとEDPCは解説している人が少なすぎる!!強い人の記事は強い人向けに書いてあるような簡素な説明が多かったりで、もう少し詳細に書いて欲しいなーと思ってます。クソ雑魚コーダーなので許してくださいよ)

 

 

 

 

・最後に

 

写経についてちょっと書こうかな。

勉強法に困っている人っていっぱいいると思います。なんならぼくも困っているので気持ちはわかります。

数ある勉強法の中でも写経が話題になることがあるのですが、解けない問題があったら写経してもしなくてもどっちでもいいと思います。(解説ACするのもしなくてもどっちでもいいと思います)

 

初めの頃はBFSやDFSの書き方が全くわからなかったので、何度も何度も写経を繰り返してそのコードを覚えて、書き方を覚えたら他の問題でBFSとかDFSを書いて書いてを繰り返していくうちにそのアルゴリズムの理解度が深まって、次第に自分の力だけでそのアルゴリズムを組めるようになって――――の繰り返しなので、一概にダメとは言えないと思います。

ただ、これは書き方のわからないアルゴリズムを習得するためだけに写経をしていて、最終的に書き方がわかるようになったからダメではない、と結論付けることが可能なだけで、書き方がわからなければダメだよね、になると思います。

 

その問題、アルゴリズムの書き方や考え方がわからないから写経をする、の最終目標はその問題のみならず他の問題に対しても書き方や考え方がわかるようになり、問題が解けるようになる。ということだと思います。応用できるやり方じゃないと伸びるわけないよって話です。

 

あと強い人をちらちら見ていると写経したことないとかえぐい発言をしてる人をたまに見掛けますが、流石に真に受けない方がいいと思います。自分自身はめっちゃ強い人なんです!と胸を張って主張できる人以外は色んな勉強法を何回もかじってみて、何回も咀嚼して、十分味わった方が良いと思います。

ただ参考になる部分は参考になりますので、真似できるところから始めてみるのがいいんじゃないのでしょうか……。(ぼくは Recommendation から始めてみることにします。)