JavaのHashSetを使う時に・・・

年末に「世界で戦うプログラミング力を鍛える150問」という本を読んでいるのですが,その問題を解いている時にJavaのHashSetの使用方法で少し悩んだ部分があったので,ここでメモを. 一般に,ハッシュテーブルというと,… Continue Reading


char* と char[] の違い

日経ソフトウェアの2013年2月号に書かれていた記事で,C++ (あるいはC言語) のchar*とchar[]の違いについて触れてありました.普段はstd::stringしか使わないので,こんな違いがあるとは思わなかった… Continue Reading


Image Abstraction の実装

今回は風景写真をイラスト風の画像に変えるStylizationという技術を紹介したいと思います.漫画とかのイラストの特徴として,塗られている色が限られている(専門的に言えば色が量子化されている)ことと,輪郭線があることの… Continue Reading


Seam Carving の実装

画像処理プログラミングの数ある論文の中で最もシンプルかつ結果が面白いもののひとつにSeam Carvingという手法があります. Seam Carvingは一言で言えば画像を縮小するための手法です.画像を縮小するための手… Continue Reading


TAUCSのコンパイル

TAUCSは主に疎行列線形問題を解くためのライブラリです. 他にもUMFPackとかSparseLUとかいろいろなライブラリがありますが,今回はある論文を実装する際,著者がこれを使っているとのことでしたのでTAUCSを使… Continue Reading


Color Transfer の実装

今回は画像処理のアルゴリズムの中でも結果が面白く,かつ実装が簡単なColor Transferを紹介します. Color Transferは一言で言えば,例示ベースの色調変換法です.入力としては「色を変えたい画像」(目的… Continue Reading


UTPC 2012 E問題

続いてはE問題です. この問題はなかなかの曲者で,一見「なぁんだ,どうせ二分探索じゃん」と思うのですが,実はそれではうまくいきません.このような議席の割り振り問題ではアラバマのパラドックスという矛盾が起こることが知られて… Continue Reading


UTPC 2012 D問題

さて次はD問題です. これは簡単な数学的知識があればなんとなく方針は立つと思います.一般にある図形を拡大・縮小,回転,平行移動だけで写すような変換は, みたいな形の連立方程式でかけます.拡大・縮小の比率は問題文から0.5… Continue Reading


UTPC 2012 C問題

さて続いてはC問題です.これは僕は当日は解けなかった. この問題の難しいところは,N,Mともに100000なので,まともに隣接行列を持ったのではメモリが全然足りないというところ.まぁ,ここまでは少し考えればわかります. … Continue Reading


UTPC 2012 B問題

先日開催されたUTPC2012 (東京大学プログラミングコンテスト)のB問題の答えです。 解説をはじめたはいいが全部はたぶんできないし、いったいどこまで続くか・・・ http://utpc2012.contest.atc… Continue Reading