実績解除:AtCoder黄色になった
黄タッチです。2度目。
競技プログラミングは自分のコンディションをどう調整するかで何百位も順位がズレる競技でした。それに気付くのに1年かかった。
前回の黄色タッチは翌日のARCですぐさま落ちたので記事を書く隙がありませんでした。今回は何週間かは黄色でいられそうなので色変記事を書いています。
自己紹介
大学4年生になりました。電子情報系の何かを専攻している大学生です。中学生の頃にhspに触れていました。中学・高校は動画編集とかをやっていました。ちゃんとプログラミングを始めたのは大学でPythonに触れてからです。
灰・茶・緑・水色・青になるまでにやったこと
水difficulty埋め、青difficulty埋めとかEDPC埋めをして、なんやかんやで青になった覚えがあります。
黄色になるまでにやったこと
黄difficultyは半分くらい埋めました。難しいから全部埋めるのは大変。メンタルとパフォーマンスの関係を意識すること、負けない立ち回りを覚えることをやっていたと思います。
精進について
青入りから比べて700ACほど増えているらしいです。RPSはほぼ倍に。
Streakはがんばって続けていた頃もありましたが今はあんまり意識していません。
1年前くらいからちょっと競プロ熱が引いてきていて、1ヶ月で100ACしていた頃に比べると全然精進していません。たまに精進するときは落とせない問題(水〜青difficulty)と、解きたい問題(黄〜difficulty)の両方を練習していました。黄色になることを考えると、水〜青レベルの問題に時間かかってしまうのは致命的なのでそこを押さえにかかったというところがあります。あと単純にそこまで難しくないから解いてて楽しいっていうこと......
入青以降新しく覚えたアルゴリズムについて
ほとんど変わっていないはずです。
・Suffix Array(あまり使っていない)
・LCP Array(あまり使っていない)
・最大流(大人気アルゴリズム)
・最小費用流(むずかしいね)
・遅延評価セグメント木(何が載るのかあまり理解していない)
・FMT(重い。これが出てくる問題だいたい実装が重い。)
・高速アダマール変換(なにこれ)
・Sparse Table(セグ木だと定数倍がきついときに使う)
・ Trie(使ってない)
・エラトステネスの篩(高速素因数分解付き)
メンタルとパフォーマンスの関係
自分の悪癖の1つに反芻思考というのがあって、自分の中の心配事を隙さえあれば思い出してエネルギーやメモリを消耗するものです。
心配事があるときに頭脳競技に挑むと頭にもやがかかったような気分になり何も見えず、焦り、ひどいパフォーマンスを出してレートが落ちるということが多々ありました。見返してみると、このようなとき平常時より2色か3色分パフォーマンスが落ちています。
これに気付いてからはコンテスト前までに課題やらバイトやらの面倒事は極力済ませておくようになり、いくらかパフォーマンスが安定するようになりました。
メンタルについて考える中で、心配事が次文のパフォーマンスにどの程度影響するかを手軽に診断できるテストを考えました。経験則なのでエビデンスはないです。
ちょっとやってみますか?
心配事テスト
期限のある仕事や、用事、課題や研究などについて思い出してみましょう。
いくつあるでしょうか。ひとつひとつ思い出します。
期限や用事の詳細について思い出してみてください。
思い出すのにかかった時間が短いほど、脳の中で思い出しやすい位置にその記憶が置かれていることになります。これが頭脳競技においての思考を妨害すると考えます。
・瞬時に思い出した。(影響 大)
・1〜2秒かけて思い出した。(影響 中)
・なかなか思い出せない(影響 低)
影響 大のものを自分から遠ざける
瞬時に思い出せてしまったものの影響を抑える方法についてもいくらか考えたことがあります。基本的には外部メモリを使うのが良いです。以下は例です。
・ポストイットなどに心配事や用事を書いておき、「ここに書いておいた」ということだけ覚えておく
・心配事や用事の数だけを覚えておき、必要になったら数から内容を引き出して思い出すようにする
また、マインドフルネスなどの瞑想技法も有効です。マインドフルネスは事象に対して評価をしないので、ストレスの大きい反芻思考の影響を抑える効果があると言われています。
どんな記事にも終わりはある
自分の中のもう1人をおだてて問題を解かせる。