成長観察日記

競プロとかPythonとかに関しての成長記録

競プロ初心者がやらなくてもいいこと

こんにちは!さむいですか?さむいですね。
buriodenです。ぶりとおでんが好きです。いっしょに食べましょう!ほくほく



まえがき

「やってよかったこと」の記事はたくさんある。
けれども「やらなくてよかったこと」というネガ記事はあんまりない。
それならば、能天気マンによるネガ記事を書くぞ〜!と、筆を取らせていただいた次第です。
(来年は、みなさんのように技術記事を書けるようになりたいな…)

以下、私のスペックです。

  • 小中高の授業を受けたことがなく「九九…わかるよ!」のレベルから競プロをはじめた
  • JavaScriptPHPは少し書ける。HTML/CSSは寝てても書ける
  • 1年やってそろそろ茶色が見えてきた
  • 社会人。時間が取れるのは主に仕事の合間、仕事終わり、休日のみ
  • 茶色になりたい
  • リアル知り合い競プロerは1名(つよつよすぎて神様なので、気軽に質問できない…なかよくなりたい…)
  • 茶色になりたさすぎる
  • にゅうちゃしたい
  • 絶対に照り焼き色になる

この記事の対象者

  • 競プロはじめてみた!なひと
  • でも情報が多すぎて、ようわからん…なひと
  • プログラミングや数学の初心者だけど、できるのかな…?なひと
  • しかし、続けたいきもちがある。つよく!なりたい!!なひと
  • 暇つぶししたいひと(つよつよさんにはただの時間埋めにしかなりません…くう)

効いた度(おすすめ度)

  • ★★★ やらない方がいい
  • ★★ できればやらない方がいい
  •  人による

3段階に分けました!
※あくまで主観かつ、私のような数学やプログラミング初心者を対象にしてます

また、先輩先祖方の記事に倣い

  • 取り組み
  • 心持ち

のふたつに分けてお送りします!

やらなくてよかったこと〜取り組み〜

  • 「言語選択でゆらゆらする」をやらない ★★★

C++をやる。公式チュートリアルがあるため
C++の修得がきつかったらPython!または経験言語!
の流れでよいと思います!キツさが数学力のなさではなく、プログラミング言語のせいってのもあるので、やってダメだったら次!って心意気がよきよきです
ちなみに私は
C++(オーバーフローでつまづいた)→JavaScript(経験言語だが、数字の取り扱いについて悟空の修行的な苦しさを味わった)→ Python
の流れでした。Pythonマンになってよかった。そのぶん数学の勉強ができてます!

言及されてない数学知識が必要なことが多いです。
「わからぬ…」と無理して勉強する時間を、数学勉強に充てると、後々効いてくる感触があります。

  • 「自力で考え続ける」をやらない ★★★

知らないものは出てこない(にっこり)
精進時の自力は10-20分を目安にし、解説や他の方の解答を見て「インプット」に努めるのが楽しいです!
そして、コンテスト時は…Google依存症をしてます(調べまくるの意)

  • 「解説の理解に努める(解説ACにこだわる)」をやらない ★★

数学ができる方々の日本語は独特なので、慣れてないと「日本語なのに、わからない…」現象が起こることが多いです。
そんなとき、ご自身に近いレートの方のAC提出を見ると「読める、読めるぞ…!!」の主人公になれます!
プログラミングは噛み砕けば英語の文章であることと、レートが近い=経験値も近いことが多いため、腑に落ちる解き方を見つけることができます。
詳しくは→拡張機能について

  • 「ABC以外のコンテストに出る」をやらない ★★★

AtCoderのレートを上げたいなら、まずAtCoderをやるべし。
茶色になるまでは他の競プロサイトのコンテストには手を出さないのが無難です!
ABC以外の、ARC、AGCは神々のあそびで、AHCは…使う頭が違うまたちがう、神々のあそび

  • 「unrated参加」をやらない ★★★

万全でないなら無理して出ず、後日問題初見でバチャのほうが力つきます。その問題に初めて会える瞬間って、とってもだいじだとおもうのです。
ちなみに、いちばんやっちゃいけないのは、rated登録したあとにお酒飲んで「20:30には起きるう」って寝ることです!!(北海道の悲劇)

  • 「コンテスト中によりよい書き方、解き方を模索する」をやらない ★★★

競プロは!
綺麗で賢いコード書き選手権ではなく!
どんなトンデモスパゲティコードだとしても、1秒でも速くACした人が勝ち選手権!合ってりゃいい!!

  • 「ライブラリを使わず生コードで頑張って書く」をやらない ★★★

どうして?!(過去の自分への叱咤)
便利なものは使い方を学び、積極的に使うと楽しみが増します!

  • 「競プロ本を読破する」をやらない ★★

競プロ本は、辞書だもん!!

  • 「普段の精進を丁寧に記録する」をやらない ★★

よっぽど苦労したもの感動したもの以外は、丁寧に記録する時間を問題解く時間にあてたほうがよいかも…!
楽しいから書いちゃう、はガンガンやるとハッピーです!

  • 「ABC-AB埋め」をやらない 

「やらなきゃ…」と、プレッシャーになるタイプの方はやらないほうがよいかもです。
埋めないでも茶色以上になってる方々もいっぱいいらっしゃいます!
スタンプラリーだいすきなわたしは、こう…埋める快感に身を委ねてうふふふってしてたら、終わってました…

やらなくてよかったこと〜心持ち〜

  • 「競プロは何の役にたつか調べる」をやらない ★★

「役に立った」は個人的見解かつ結果論だから、やらなきゃわかんないよー

  • 「才能の有無で落ち込む」をやらない ★★★

経験と才能は掛け算だよ!って考え方がすきです
経験が0なら才能100でも、出力結果は0だ!ってことです…コワイ
肌感ですが、才能の壁は黄色くらいなのかなあ。逆に言えばそこまならめっちゃ経験を積めばいけそう…

  • 「streakをモチベにする」をやらない 

AtCoder Problemsのstreakという機能があります。「何日間連続でACしているか」を見せつけてくれる頼もしいやつです!
ところが、学ぶことの優先順位が、生きることよりも下になる時がどうしたってあるのです…切れた途端やる気が切れちゃって辞退はもったいないな、と思った時から、streakを知らないふりしはじめました。ちまちま毎日やるより、調子のいいときに思いっきり精進することを楽しめるようになりました!

  • 「他人とレートや精進量を比べる」をやらない 

ライバルいるとやる気出るタイプは除く
「はじめた時期、年齢、経験etcだけじゃ比べる基準にならない」と、この色変記事の著者に教えていただきました(泣きました)
他人と比較すると鬱になるけど、比較するのをやめられないよお…という頑張りやさんにおすすめなのは「過去の自分と勝負し続ける」です!過去の嫌いな自分を打ち負かすのたのしいですよーえへへへへ

  • 「寝ない」をやらない ★★★

寝ましょ



以上です!

でも「やってよかったこと」も気になりますよね…?ならないですか…??涙

あっ…なりますよね!!書きます!!!

いちお、やってよかったこと〜取り組み〜

  • ローカル環境構築 ★★★

online judge tools(問題のテストケースをローカルにダウンロードし、エディタ内でテスト→提出を完結できるツール)の導入を含みます
あ、でも…つらくなったらやめましょ!
環境構築に苦しんでた時代は、アルゴ式のてきとな問題ページをテストとして使ってました。AtCoderのコードテストよりも、いくらか動作が速い印象です

辞書登録ターミナルコマンドverです!
詳しくはこの記事にまとめてます。


VScode以外にもあると思います!辞書登録のコードverです。
確かに最初はフルで書いた方がいいけど…慣れてきたら、かんたんな入出力など、毎回擦るように書くものは登録するとキーボードの寿命が延びます

Pythonの文法は99%アルゴ式で勉強しました!
ちゅるっと学べるコンテンツがいっぱいで、気軽に取り組めます。競プロ本が辞書ならば、アルゴ式は単語帳ってイメージです。

色々あるので、こちらの記事を参考にしてください。
私のおすすめは、全ての提出一覧画面で、ユーザーネームの色をレートの色にしてくれる拡張機能です!
自力でACできなかった時、どの人の回答を見て勉強しようか?と選ぶ際に、めちゃ捗ります!

  • 中学数学を勉強する ★★★

連立方程式って知ってますか?あれを知らずに競プロやってた自分を殴った後に抱きしめたい
↓の本で問題解きながら勉強したら、見通しがかなり明るくなりました!



  • 「なぜこの解法になるのか?」ではなく「なぜこの解法を思いつくのか?」を考える ★★★

これ、正直何時間でもかけていいとおもいます!!
じっきーさんの色変記事で、この考え方を知って雷が落ちました。劇的成長しはじめたの、この後だったかも知れません

これは完全に私個人の話なのですが、先にお礼を伝えたくて…実は、ここ数年情熱大陸すぎて患った男性恐怖症が、Twitterでなおりました。息して外を歩けるようになったこと、何度感謝しても足りないです。
競プロerはツイ廃が多く(褒めてます)、わかんないです…!って質問すると、色んな方から色んな知見を教えていただけます
交流や考察を書いてくださっている方も多く、見ているだけで娯楽と勉強になります。あと、恥を晒すことにより、新しいことに向かっていける度量がついた気がします。
と考えると、メンタル面と取り組み面、どちらにも影響してますね。すげえや

いちお、やってよかったこと〜心持ち〜

  • 目標を1つ低く設定する ★★

ABC前に「今日はここまでいけそう」の1つ前段階を宣言してます。毎回越えられるから、やさしく元気です!

  • 頭の調子が悪い時の分析をする ★★★

暑いとダメなんだなとか、寝不足はダメなんだなとか…
自分の体調や気持ちに気付けないタイプなので、ちょっと頑張りました。
私の場合、部屋の温度と頭の回転におそろしいくらい相関があったため、何がなんでも適温環境で競プロをやることにしてます。



いかがでしたか?(これやりたかったー!!)

もし、あなたのなにかになれたらならば、とーってもうれしいです!
これからもがんばりますので、色々とよろしくお願いします…!