Python(とPyPy)でAtCoder黄色になりました
この度第二回全国統一プログラミング王決定戦予選で黄色になりました!!!!!!わーい!!
最高パフォ&はいえすと&黄色&予選通過確定です!!!!!!!!!!!!!!!!!!ありがとうございます!! pic.twitter.com/z10Yd5js5X
— しまむむ (@simamumu) 2019年11月9日
のでいわゆる変色記事とか言うやつを書いてみたいと思います
別にこういう勉強法が良いよ!とかこういうことするとレートが上がるよ!みたいな有益な話はそんなないと思います
わりと日記な感じなのでごめんなさい
お前は誰
- 東京の工業な大学のの†土木工学系†に所属している B4です
- 土木についてあまりイメージがわかない人は講義でFORTRANをやらされる学部だと思っておけばよいです
- 土木についてあまりイメージがわかない人は講義でFORTRANをやらされる学部だと思っておけばよいです
- プ歴(≒競プロ歴)は2年くらい
- 一応数学も書いておくと高校数学は得意な方でした(特に整数論のパズルみたいな問題が好き).大学数学は多分苦手です
- これは人生で唯一できる自慢なのですが数学280/300で合計点では学部内首席でした (くっそまぐれ当たりなので入学後の成績は…
- でも受験数学の範囲は出てなくて数オリとかそういうのは全く触れたことないです
最近の Rated 戦績
令和ABC以降の~700 の (AC提出時間-直前の問題のAC提出時間) でなんとなくなかけた時間表です
こうしてみてみると結構成長が感じられて面白い
400,500 がそこそこの速度で解ける = 600にちゃんと時間をかけて解けるようになった気がします.
定期的に 300 で破滅してるの面白い (JSC決勝もここには書いてないけど300で死んでいたため
持ってるライブラリ
これも良くみるので書いておく
グラフ
- Dijkstra
- WarshallFloyd
- Kruskal
- FordFullkerson (Dinic の理解を諦めたため
- BellmanFord
- トポソ
データ構造
- 数学
- 逆元Combination
- 篩
- なんか高速な素数判定
一応作るときに意識してるのは
- 完全理解して自分で1から書く(これは半分くらい本当だけど半分くらい嘘
- できるだけ早くしとく≒非再帰で書く
- 分かりやすく書く、classとか使って抽象化する
- 自分が 使いやすくする (strをオーバーロードしてデバッグ出力を簡単にするとか
黄色まで(≒ABC) にはこれくらいでそんなに困りませんでした(当然もっとあって悪いことはない
やったこと
やったこと…何やったっけ?
- こどふぉにはほぼほぼ出てない
- 睡眠は大切なので
- あと個人的にあんまり問題が好きじゃない (これは参加した回が少ないせいかもしれなです
- その代わり日本語コンテストには出る
- ほんまか?(割りと用事被って出てないような)
- ぶっちゃけ最近は"競プロの"精進はしてないです.problems がこんな感じなので…せいぜいコンテストと復習くらい
- でもコードを日常的に書く機会というのはかなり増えました
- 8月中旬くらいから某社でバイトを始めた
- 10月にインターンにってました
- 最近は卒論の研究で django を使って自分の卒研用の web アプリを作ったりとか
競プロ自体の精進はしてないのですが,最近の戦績 を見てみるとバイトを始めたあたりから結構成績良くなってて,
コードを書くようになったってのは結構影響してるのかなって思います.
特に私自身情報系の学科じゃないので競プロ以外でコードを書く機会が少なかったので.
ぶっちゃけなんで最近レートが上がったかってABCが6問体制になったからが一番大きい気がします
600前後くらいの問題が個人的には丁度良いと感じるのですが、旧体制だとそこを解けることにそんなに恩恵がないような配点が多かった感
コンテストで意識してること
っていうのを下書きの時点で章だけ作ってたんだけど書くことありますか?っていう気持ちになっています 一応なんとなく思い浮かんだことを書いておくと
- ABCの~500 はわりとパターン認識だと思ってる (それより上とAGCは知らない
- 似たような問題設定見たことあるなー,きっとこういう見方をすると嬉しいんだよなみたいな思考はわりとするし,わりと使える
- なので過去問梅は大事 (しかしそんなにやってない気がしますが
- 制約とサンプルからエスパーする
AtCoderをやってて良かったこと
ここが一番書きたかったところです
- 楽しい
- やっぱり競プロはネトゲなんですよね
- 解けなかった時の悔しさもあるけど,その分上手く解けた時の脳汁がドバドバなので
- プログラミングの楽しさを知れた
- これがほんとにめちゃくちゃでかい
- 競プロ楽しい!から一般的なプログラミングにはまった
- ので,そのきっかけになった AtCoder で人生変わったは過言じゃなくわりと事実
- 将来の進路にまで割と影響してきている (これは某土某通省のせいで土木に対する熱が冷めたのもだいぶある
- 情報分野のバイト/インターンに繋がった
- 交遊関係は広がらない
- コミュ症なので仕方ないですね
- 日経コン本選行くのでこの記事を読んでる奇特な人がいたら是非話しかけて下さいお願いします!
何でPythonを使うのですか
AtCoderをPythonを使ってる理由
— しまむむ (@simamumu) October 1, 2019
競プロでPythonを使うことによって生じる損失と他言語の学習コストを比べると,自分には他言語を学習するコストの方が圧倒的に高いため
単純にPythonが好きというのもだいぶある(むしろこれがすべてでは?
— しまむむ (@simamumu) October 1, 2019
まあ結局何で?って言われると好きだからなんですね
じゃあ何で好きかって言われると困っちゃうんですけど,まあ好きってそういうもんじゃないですか (ここJpopの歌詞っぽい
今後について
最初は青を目標にしてたのですが,いつの間にか黄色になってました. 橙なりたいと思わないわけではないのですが,橙より上は人外だと思ってます.人外になりたいですね??
でもこれより上はいわゆる高度典型と言われるものを抑える必要があると思うのでちゃんと精進しなきゃなんですね. まあとりあえずはAGCでレート配ってABCで黄色復帰する人にならないようにまずは黄色キープを目標にしていきたい
それと maspy さんのブログを読んで思ったのですがやっぱり Python で競プロやってる勢が(特に上位では)少なく,Python 勢にとって上位問題の解答/解説が多くないっていうのはあると思います
自分でも割と上の方(国内黄色↑が10人くらい)らしいので,他の競プロ Python 勢に貢献できるように記事とか解法とか残していけたらいいですね (多分めちゃくちゃ苦手な分野ですけど頑張っていきたい