書きたいことを書く日記。人生、競プロ、麻雀等。

現役東大生 & 金融系専門職志望 & 趣味は競プロと麻雀 & ゆるふわマインドの日常ブログ

自己紹介(前編)

どうも、初めまして。ブログを見にきてくださってありがとうございます。

今回の記事では簡単に私の自己紹介をしたいと思います。

ブログを書くのが初めてなので、こういう場合にどう書いたらいいのか分からなくて読みづらい部分もあるかもしれませんが、ご容赦くださると幸いです。

私を構成するさまざまな要素のポイントを箇条書きで書いて、それぞれに細かくコメントしていく感じにしようと思います。

 

 

1. 東大の学部4年生。もうすぐ社会人。

まずこれ。大学受験は一回失敗してて、2年間やったので私の人生の中でそれなりに大きいコンテンツになってます。現役生の頃の成績はそれなりによく、天狗になっていた私は謎に東大の前期しか出願しないという暴挙に出て、派手に散ったというネタ話があるので、いずれそれについても記事にしたいと思います。

受験生のときTwitterをやっていたんですが、その時FFだった人が見に来てたりしないかなあ...今も元気に生きてますよ!to 4年前のFF

 

2. アクチュアリー(金融系の専門職)志望

私は高校生の時からずっと数学が好きで、強制されてないときも割りと頻繁に問題を解いたりしてました。多分、大げさじゃなく受験時代に解いた数学の問題は1000問近いと思います。東大の過去問は1960年代まで、果ては受けもしない京大や一橋の過去問、予備校が出す東大模試の過去問まで、受験生の立場で入手可能な数学の問題はほとんど解いていました。異常ですね。現役のときは数学に偏りすぎて苦手科目を勉強せず落ちました笑

そんな私だったので、数学を使ったり、数学的な思考を使う職業につけたらいいな~と漠然と考えていました。大学3年になっていよいよ就活をしないといけなくなり、色々調べた結果、アクチュアリーという職業を見つけました。保険会社や銀行にいる人で、保険料を設定したり、保険金の支払いのために積み立てておく準備金というものを計算したり、企業の退職金制度のコンサルをしたりする人らしいです。

アクチュアリーには資格試験があります。合格には平均8年かかり、多くの人はアクチュアリーとして働きつつ資格取得を目指すようです。

勉強は好きだし、なによりアクチュアリー就活で出会った人はだいたい数学が好きで気が合うのでこれいい!となり、アクチュアリーを目指すことにしました。

就活のあれこれだったり、アクチュアリー試験の話についても今後したいと思います。

 

3. 競技プログラミングにハマっている

今めちゃくちゃこれにはまってます。競技プログラミングってなに?って人向けに簡単に説明すると、下のような問題を十分に高速に解決するプログラムを書く競技です。

N個の正の整数 A_1, ..., A_Nと正の整数Kが与えられる。 A_1, ..., A_Nからいくつかの整数を選んで、その和がKになるようにすることが可能か判定せよ。可能ならば "YES" と出力し、不可能ならば "NO" と出力せよ。

制約は N<100,  K < 10000 とする。

何も工夫せずに素朴にやってみると、N個の整数それぞれについて選ぶ場合と選ばない場合で2通り考えて、合計2^N通りすべてで和を計算してそれがKと一致すれば可能、一致するものがなければ不可能というふうに判定する、という方法が思いつきます。しかし、Nが100近くだと2^N10^{30}ほどであり、一般的なコンピュータでは1秒で10^8=1億回の計算しかできないので、10^{22}秒=300兆年かかります。多分地球はその頃にはないでしょう。ちなみに最近のスパコンだと1秒で1京回の計算ができたりするようですが、それでも300万年かかります。

そこで、効率的な計算方法を考えることによって、この問題では動的計画法というアルゴリズムを使うことで、約1秒でこの判定問題を解くことができます。

そういった色んなケースで効率的に計算できるアルゴリズムを学びつつ、様々な問題に応用して解いていくのが競技プログラミングです。私はあくまで趣味兼プログラミングの勉強としてやっているだけですが、現実にこれを仕事としてやっているアルゴリズムエンジニアなる存在もいて、私達が普段様々な便利なシステムを使えているのは彼らの活躍が大きいようです。

私は数学が好きというのもあってすごくハマりました。毎日一問は問題を解いています。知ってる人向けに書くと、今AtCoderで緑色です。卒業までには水色に到達したいですね。

 

ここまで読んでいただいてありがとうございました。

結構長くなったので、今回はこの辺にして、自己紹介の後編はまた今度書きたいと思います。

[0],[
正の整数Kが与えられる。これらの整数から何個かの整数を選んで総