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

主にプログラミングについて、思いついたことや、試してみたこと、学んだことを、覚え書きを兼ねてまとめます。

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

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

IndiaHacks 2016 - Online Edition B. Bear and Compressing:PyPy 3による解答例

先日、私はCodeforcesで開催されたIndiaHacks 2016 - Online Edition (Div. 1 + Div. 2)というコンテストに参加しました。この記事では、私が制限時間内に解けた問題の一つである、B. Bear and Compressingという問題について、その解き方とPython 3(ただし…

AtCoder Regular Contest 037 B. バウムテスト:解き方とPython 3による解答例

最近、私は主にAtCoderやyukicoderの問題を少しずつ解いています。この記事では、今日私が解いたB: バウムテスト - AtCoder Regular Contest 037 | AtCoderという問題の解き方およびPython 3の解答例を、学習の記録を兼ねてまとめておきます。

Chokudai Contest 001に参加した:はじめてのマラソン系コンテスト

先ほどまで、AtCoderのChokudai Contest 001にオンラインで参加していました。このコンテストは、普段AtCoderでよく開催されているものとは異なり、いわゆるマラソン系のコンテストでした。私はこれまでマラソン系コンテストに出たことがなかったのですが、…

yukicoder No.338 アンケート機能:主に端数処理などの実装面について

最近、私は主にyukicoderの問題を解いています。先ほど、No.338 アンケート機能 - yukicoderという問題を解きました。その際に、言語により数値を丸める(端数処理を行う)関数の挙動が異なることに注意する必要がありました。本記事では、それをはじめとす…

単一始点最短経路問題を解くShortest Path Faster AlgorithmをPython 3で実装してみた

グラフ理論における単一始点最短経路問題を解くアルゴリズムとしてはDijkstra法やBellman-Ford法が挙げられますが、Shortest Path Faster Algorithm (SPFA)もそのようなアルゴリズムの一つです。この記事では、SPFAの概要について述べるとともに、そのPython…

yukicoder No.105 arcの六角ボルト:解法および解答例

このところ、私はAtCoderで開催されたコンテストの過去問を解き進めるとともに、yukicoderの★★~★★★レベルの問題に取り組み、競技プログラミングの練習をしています。この記事では、昨日解いたNo.105 arcの六角ボルト - yukicoderという問題について、学習の…

AtCoder Beginner Contest 016 C. 友達の友達:解法とPython 3による解答例

最近、私はAtCoder Beginner Contest (ABC)およびAtCoder Regular Contest (ARC)の過去問を解き、競技プログラミングの練習を行っています。その一環として解いたC: 友達の友達 - AtCoder Beginner Contest 016 | AtCoderという問題について、この記事ではそ…

Scala歴0日で競技プログラミングの問題にScalaで解答してみた

ふと思い立ち、今日私はプログラミング言語Scalaを使ってAizu Online Judgeおよびyukicoderの問題に解答してみました。Scalaのコードを書くのは初めてでしたが、思っていたよりもすんなりといきました。この記事では、その顛末や、Scalaを使ってみた感想につ…

素数判定・素数列挙を行う主なアルゴリズムをPython 3で実装してみた:試し割り法からMiller-Rabin素数判定法まで

競技プログラミングにおいては、素数判定(ある自然数が素数か否かを判定する処理)あるいは素数列挙(ある範囲に含まれる素数を列挙する処理)が求められることがあります。そこで、本記事では、素数判定・素数列挙のための代表的アルゴリズムを挙げるとと…

Aizu Online Judge 1160. How Many Islands?:予備知識、解法およびPython 3による解答例

競技プログラミングにおける実装力の強化とアルゴリズムの学習を主目的として、AOJ-ICPCを利用して、ICPC・JAG非公式難易度表に挙げられている問題に取り組んでいます。現時点ではおおむね難易度100-150程度の問題を解いているところです。この記事では、そ…

はじめてのCodeforcesコンテスト

Codeforcesでは、月に数回プログラミングコンテストが開催されています。2月7日18時5分(日本時間)から、公式のコンテストとしてCodeforces Round #342 (Div. 2)が実施され、私はそれに参加しました。この記事では、その顛末や感想について書きます。 Codef…

yukicoder No.141 魔法少女コバ:解法および解答例

最近yukicoderの問題をあまり解いていなかったので、「おみくじ」機能で表示された(まだ正答していない)★2の問題に取り組むことにしました。この記事では、その一環として今日解いたNo.141 魔法少女コバ - yukicoderという問題の解き方と解答コード例(Pyt…

square869120Contest #1 E. 散歩:解き方とPython 3による解答例

1月24日の晩に、AtCoder上でプログラミングコンテストsquare869120Contest #1が開かれました。本記事では、このコンテストで出題された8つの問題のうち、E: 散歩 (E869120 and Path Length) - square869120Contest #1 | AtCoderを取り上げ、私の頭の整理を兼…

はじめてのTopCoder Single Round Match

Single Round Match (SRM)は、TopCoderにおいて1週間に1回程度行われる競技プログラミングのコンテストです。1月20日21時(日本時間)から、SRM 679が開催され、私はそれに参加しました。これは私にとってSRMへの初参加でした。この記事では、一般的なSRMの…

競技プログラミングにおける私の使用言語、開発環境および利用サイト

今までにブログやTwitterで何度か言及しているように、私は数ヶ月前から競技プログラミングを楽しんでいます。この記事では、その際に私が用いているプログラミング言語および開発環境や、練習に利用したりコンテストに参加したりしているサイトについて述べ…

Facebook Hacker Cup 2016 Qualification Roundに参加してはみたものの歯が立たなかった

Facebook Hacker Cupは、年に一回開かれるプログラミングの競技会です。今年は、その最初のラウンドであるQualification Roundが、1月9日9時から12日9時(日本時間)にわたりオンラインで実施されました。私はこれに参加しましたが、1問も解答できないという…

yukicoder No.314 ケンケンパ

この記事では、私がNo.314 ケンケンパ - yukicoderに取り組んだ際の試行錯誤について詳しく述べるとともに、競技プログラミングにおいてよく用いられる技法である動的計画法の基本について考えます。

このブログについて(必読)

当ブログをご利用いただく際には、以下の点に留意していだたくようお願いいたします。

当ブログ『はむ吉(のんびり)の練習ノート』開設にあたって

本日、はてなブログにて、このブログ『はむ吉(のんびり)の練習ノート』を開設しました(以下、新ブログ)。この記事では、新ブログで書きたいと思っている内容や、これまで更新していたブログ『はむ吉(のんびり)の雑記帳』(以下、旧ブログ)の扱いについ…