はむ吉(のんびり)の練習ノート

プログラミングとことばに関する話題を中心に,思いついたこと,試してみたこと,学んだことを,覚え書きを兼ねてまとめます.その際に役立った,技術書,参考書,辞書,機器などの紹介も行います.

Google Code Jam Qualification Round 2016 C. Coin Jam:SymPyによる解答例

Googleが開く競技プログラミングのコンテストGoogle Code JamQualification Round 2016が、4月9日8時から翌10日11時まで(日本時間)の27時間にわたり開かれました。私はこれに参加し、その結果としてRound 1への進出が決まりました。この記事では、このQualification Roundで私が正解した問題の一つである、C. Coin Jamという問題の、Python用記号計算ライブラリSymPyを用いた解き方について述べます。

続きを読む

yukicoder No.353 ヘイトプラス:プラス記号なしで足し算を行う複数の方法

昨夜、yukicoderにて開催されたyukicoder April Contestに私は参加しました。この記事では、コンテスト中に私が解けた問題の一つである、No.353 ヘイトプラス - yukicoderという問題について、備忘録を兼ねていくつかの解き方を示します。なお、この中には私が自ら思いついたものだけではなく、コンテスト後に調べて知ったものもあります。また、これら以外の解き方も存在するかもしれません。

続きを読む

Prim法とKruskal法をPython 3で実装してみた:無向グラフの最小全域木を求めるアルゴリズム

ふと思い立ち、Prim(プリム)法とKruskal(クラスカル)法をPython 3で実装しました。これらは無向グラフの最小全域木を求めるアルゴリズムであり、競技プログラミングでも用いられることがあるようです。この記事では、学習の記録を兼ねて、最小全域木や上記の手法の概略について述べてから、これらのアルゴリズムPython 3による実装例を、Minimum Spanning Tree | Aizu Online Judgeの答案として示します。

続きを読む

AtCoder Regular Contest 032 B. 道路工事:複数の解き方と解答例

引き続き、私はAtCoderの過去問を解き進めています。この記事では、その一環として私が取り組んだB: 道路工事 - AtCoder Regular Contest 032 | AtCoderという問題について、それに対するいくつかの解き方と解答例を、学習の記録を兼ねてまとめておきます。

続きを読む

Lambda Calculi - March 2016に参加した:関数型言語だけでの競技プログラミング

3月25日14時30分(日本時間)から丸3日間にわたり、HackerRankにてLambda Calculi - March 2016という関数型言語縛りのプログラミングコンテストが開催され、私はそれに参加しました。Lambda Calculiを冠するコンテストは以前にも何度か開かれていたようですが、私にとってはこれが初めての参加でした。

続きを読む