日記 2021/06/08

およそ10日ぶりの日記である。ここしばらく、大学院入試の出願作業に追われていて、日記を書く心の余裕がなかった。なんとか志望教員を選び、無事に出願を終えることができた。提出から一日経っても「こっちにしておけばよかった」という後悔の念が湧いてこないので、いま考えられる限りでは最善の選択ができたと思う。

さて、今日は朝8時ごろまで演習の課題をやっていた。テーマは機械学習、とくにEMアルゴリズムMCMCで、これまたあまりやる気の起きない分野である。競プロに逃避しつつグダグダと問題を解いていた。やる気が起きないとは言ったものの、「すごい魔法」という程度の認識だった機械学習が、授業や演習を通して、統計学を土台に泥臭くパラメータ推定を頑張る、地に足のついた分野であると実感できた。この例が示すように、応用数学の幅広い分野を基礎から学ぶことができるのは計数工学科の大きな長所であると思っている。

朝ごはんを食べて就寝。14時ごろに起床して授業を受けた。授業を聞きながら青diffの問題を眺めていると、しばらく前に解けなくて放置した問題の解法が一瞬で見えたので実装をした。

E - Second Sum atcoder.jp

解法と感想(クリックで展開)

大きい数字から順に見ていって、すでに数字の入っている場所をsetで管理するだけ。どうして過去の自分はこれが解けなかったんだ? 実装で少し苦労した。解説を見るに、番兵を置いておくとよかったらしい。番兵を置くのは思いつけないことが多いので、意識したい。


途中から授業に集中できなくなってきたので、TopCoderのコーディング環境を整えることにした。ArenaのJava Appletがなぜかダウンロードできなかったり、CLionでなぜかコンパイルが通らなかったり、いろいろと苦労したが、なんとか環境が完成した。今のところSRMに参加する気はないが、SRM Div. 1 Easy Hunting を解こうと思っている。

19時ごろまで暇だったので、少し前に買った『マツリカ・マジョルカ』を読み終えた。マツリカは自分の性癖に刺さるタイプのキャラではなかったが、ストーリーは好き。もう少し主人公の成長後の姿が見たかったという気持ちもあるので、第二巻以降に期待。

郵便受けを見に行くと、Amazonで注文した本が届いていた。ところがいざ開封してみると、新品で注文したにもかかわらず汚れや折れがある。当然すぐに返品手続きをした。Amazonで本を注文するとこういったことが起こりうるとは聞いていたが、いままで自分が被害にあったことはなかったので気にしていなかった。今後は可能な限り店頭で買うことにする。

19時から、学科同期とZoomで話す会に参加した。20時半ごろに解散となったので、夕食を食べたあと、青diffを何問か埋めた。

C - タコヤ木

atcoder.jp

解法と感想(クリックで展開)

 0 以上 M 以下の広義単調増加数列の数」がぱっと出てこなかった。良くない。これがわかればあとはやるだけ。


C - だれじゃ

atcoder.jp

解法と感想(クリックで展開)

やるだけ。setに vectorを持たせたのは初めてかもしれない。


E - Yutori

atcoder.jp

解法と感想(クリックで展開)

初めさっぱりわからなかったが、 C 日以上離れているブロックに分割してみたら、ブロックごとに貪欲でいいことに気がついた。実装がかなり大変だった。実はブロックごとではなく、全体で貪欲をしてしまってよい。解法がわかった瞬間に実装に集中してしまって、その解法を「広げる」方向にまったく意識が向かなかった。反省。


本番で解けなかったABC204-Fをupsolveし、ちょうどいい機会だったので行列ライブラリも作った。あと40分あれば解けたかもしれない。Eで詰まったのが悔やまれる……。

atcoder.jp



青diffのsolvedはこれで225問中96問となった。直近2回のABCで青diffを通すことができていて、青diff埋めの効果を感じている。