ヘクトのメモ

なんとなくいろいろ書いていくと思います.

プログラミングを初めて約5年

この記事は「競プロ!!」 競技プログラミング Advent Calendar 2017 24日目の記事です.
adventar.org

今年は真面目な記事を書くつもりはなく,ポエムを書いていきたいなぁと思います.*1
遅れてすいません... *2

あなたは誰ですか?

東京農工大学のM2の学生です.
ハンドルネームはヘクトで,競プロのIDはHec.
ICPCに5回出場して,nocowのチームリーダーをやっていました.
現在,プログラミングを初めて約5年になるところです.

競技プログラミングとの出会い

競技プログラミングとの出会いは高校時代まで遡ります.
その頃からプログラミングに対して興味はあったので,JOIとかに興味はありました.*3
また,高校時代はいろんなジャンルの本をとりあえず買ってみるという生活を送っていました.
高校2年生の時にプログラミングコンテストチャレンジブックをなんとなく買いました.
ただ,その時期には計算量とかの概念を全く知らず,最初の例題を読んでなんとなく効率的なプログラムなんだなと思って読んでいました.
*4

2013年

大学受験を終えて,情報工学科に入るんだしということで落ち着いてプログラミングを始めました.
Cの絵本とかを読みつつ,Visual Studioでとりあえずプログラムの動かし方だけを覚えて,少しずついじり始めました.
その後,入学当初からプログラミングが得意な同級生に質問したり,雑談したりしていろいろ覚えました.
また,ロボット研究会 R.U.R.と コンピュータサークル MCC にも所属しました.
その当時からMCCでICPCに参加している先輩がいたので,その練習会にも参加し始めました.
7月にICPCに参加しましたが,初年度は大変でA問目を解くのが精一杯でした.
また,JOI経験者のチームメイトが強くてチームで3完でした.
この頃には,Visual Studio から gcc に切り替えていた気がします.
その後,蟻本を本格的に埋め始めました.
9月にJAG夏合宿に参加し,国内トップの競プロerの強さを知ったと思います.
コミケで競プロ本を買ったりと情報収集もしていました.

2014年

UTPC 2013に参加するなどして,積極的にオンサイトでの交流を始めた年です.
この頃には,競プロをしていることが当たり前の生活になっていた気がします.
3月くらいにはCFの旧基準でDiv 1になっていた気がします.
SRM div1 と div2 を振動していた時期でもある.
Code Festivalが始まり,初めてオンサイトの大会に参加した気がする.
ICPCに出るけど,「バンパイア」で時間を取られて国内予選はダメでした.
この年のICPCメンバーで以降は戦っていました.

2015年

学業が非常に忙しくなってきた頃です.*5
ICPCに出るけど,「500円玉貯金」で時間を取られて国内予選はダメでした.
SRMのレートが青で安定し始めた時期ですかね.
ABCの難易度レビューとか書いていたのもこの時期でしたかね.

2016年

卒論を書き終えて,修士課程に進学しました.
春休みは Code VS をやっていた.
ICPCに出場して,国内予選13位で初めて通過しましたが,つくば大会では24位と力を発揮できず.
SRMのレートが黄色で安定し始めた時期ですかね.
ARCの難易度レビューとか書いていたのもこの時期でしたかね.

2017年

2016年度末に新レーディングで2400を超えたので,AtCoderで作問をするバイトを始めました.(長期のバイトとしては初めて)
今年は約40問くらい作問を行い,Code Thanks Festival 2017の writerもやりました.
競プロやICPCで関係で知った企業を中心に就活しました.
ICPCに出場して,国内予選5位で初めて企業賞を手に入れました.しかし,つくば大会では34位と力を発揮できず.
ただ,国内予選の順位が良かったおかげで遠征費補助が出たので,タイの大会に参加したら8位をとり,初めて表彰台に上がる経験をしました!
*6

思うこと

始めた当初は,レッドコーダーとか雲の上の人にしか見えなかったです.
ただ,最近になると明確な差を実感できるようになり,無理ではなさそうに思えてきました.
続けていくと頭の中の基準が変化するので,今は無理でもいつかは可能になることを実感しています.
あと,大学生活に支障を出さない程度に自制して競プロをしましょう.*7
また,他大学の知り合いを作るきっかけにはなりましたし,その経由でいろいろな情報を得るきっかけになっています.

練習面

あるコンテストや難易度表のある特定の難易度帯の問題をちゃんと埋めるのが効率良いなと思います.
ABC・ARC・SRM Div1 Easy・SRM Div1 Medを埋めるのは結構効く気がします.
コンテスト時間内で問題が解けなければ解説を見てしまった方が良い気がする.
また,コンテストごとに特化した練習はしておいて損はないかと.

現環境

PC: Mac book
エディタ: Sublime text 3
テンプレートやライブラリはスニペット化して使っています.
コンテスト前にお菓子を食べることが多い.
紙とシャープペンシル
テンションを上げるために,コンテスト前に好きな音楽を聴いたりして,コンテスト中は無音にします.*8

あとがき

もう少し追記されるかも.*9

*1:やざてんさんの記事とテーマが被った気がするけど気にしない、気にしない

*2:修論が忙しいので

*3:当時は何をやっている大会か全く知らず

*4:コンパイルという概念を知らず,C言語ソースコードを書いては動かない... なんて時期でした

*5:なので,記憶がほとんどぼんやりしている...

*6:そのうち,ICPCのノウハウとかは少しブログに書くかもしれません

*7:何かあった時に周りの協力を得る上で重要な要素となる.

*8:supercell,EGOISTなどの曲をよく聴いていますかね.

*9:Twitterの履歴を引っ張れば,もう少し詳しく書ける気がする.

JAG夏合宿2017

チームnocowのうち2人が参加しました.(残り1人はインターンのため来られず???)

続きを読む

解いた問題をまとめる (定期更新の予定)

ジャッジサイトごとの解法メモはあるけど、全体では何を解いたかを忘れているので、ここにメモします。
(解法は白文字で書いてある場合もある)

続きを読む

ICPC 2017 国内予選 (ソースコード)

大会中に自分が実装したソースコードのまとめ

続きを読む

ICPC 2017 国内予選

去年と同じくチームnocowとして今年も参加しました.(5回目のICPC国内予選)
http://osrehun.hatenadiary.jp/entry/2016/06/25/205342:embed_cite

チームメンバー

@osrehun コーダー担当
@icchyr インフラ担当
@xthexworldx コーダー担当

結果は7完5位でした! アジア地区予選に行けます!
今年の国内予選は順位表を荒らせたと思うので、観戦者には非常に楽しんでもらえたようですw

あと,学内の国内予選の最高順位を更新しました. (抜かれることがある記録なのだろうか?)
以下詳細なタイムスケジュールと感想

続きを読む

ICPC 2017 模擬国内予選

去年と同じくチームnocowとして今年も参加します.(5回目のICPC)
osrehun.hatenadiary.jp

チームメンバー
@osrehun
@icchyr
@xthexworldx

結果は5完10位(guestを除くと8位)でした.去年より順位が5つ上がった.
今年の模擬国内予選は少しひやっとした.(理由は後述)

以下詳細なタイムスケジュールと感想

続きを読む

RUPC 2016 Day2 K Sum of Sequences

こういう計算コストの減らし方は面白い.定数倍が少しきつめ?

続きを読む

2016年振り返り

今年あったことをいろいろ振り返ります.

続きを読む