na_o_ysのブログ

プログラミングなど

2015-01-01から1年間の記事一覧

Haskell で始める AtCoder Beginner Contest

Competitive Programming Advent Calendar 2015 五日目の記事です。 www.adventar.org Beginner Contest レベルなら、呪文みたいな大量のコード (レギュラーコンテストに出てる人たちのコードはすごい) を書かないでも、意外とシンプルに書けることが多くて…

ICFPC 2015 参加記

ICFPC2015 にソロで出た。刺激的な三日間でした。 一日目 朝 問題を読む。 ハニカム構造のテトリスの AI を作れば良いらしい。 Ruby でコマンドラインで可視化しながら Qualification Problems の json を読む。 12:00 Problem 1 を単純に左下詰めで提出して…

どうぶつしょうぎの盤面認識アプリを作る (4) 駒の認識

(1) 準備編 (2) 勉強編 (3) 盤面の正規化 (4) 駒の認識 正規化された入力画像から、各駒の位置を取得します。 駒 (先手ゾウ) の位置を特定 概略 駒の画像を用意する テンプレートマッチングで駒の位置を特定する 駒が傾いている場合を考慮して、複数の角度で…

どうぶつしょうぎの盤面認識アプリを作る (3) 盤面の正規化

(1) 準備編 (2) 勉強編 (3) 盤面の正規化 (4) 駒の認識 カメラで撮影した画像から、盤面のみを取り出して固定位置に正規化します。 入力画像 正規化後の入力画像 手法 盤面のみの画像を用意する 入力画像と盤面画像で特徴量抽出・マッチングする マッチング…

どうぶつしょうぎの盤面認識アプリを作る (2) 勉強編

(1) 準備編 (2) 勉強編 (3) 盤面の正規化 (4) 駒の認識 画像を盤面情報(駒の配置、持ち駒)に変換するためには、次のような処理が必要となる。 画像内でのボードの座標取得 画像内での各駒の座標取得 上記内容をもとに盤面情報を計算・生成 1, 2 はあらかじ…

どうぶつしょうぎの盤面認識アプリを作る (1) 準備編

(1) 準備編 (2) 勉強編 (3) 盤面の正規化 (4) 駒の認識 会社の人たちと一泊二日の開発合宿@伊東温泉をすることになりました。 この機会に初めての画像認識にチャレンジしてみようと思います。 2日間で作りきる自信が全く無いので、この記事は前日夜にこそ…

join から理解する State モナド

すごいH本 14 章に出てきた State モナドの理解が難しかったので, まとめてみました. State モナドとは 状態付き計算を表現するモナド 現状態 s1 を受け取り, 値 a と次状態 s2 のペアを返す関数 newtype State s a = State { runState :: s -> (a, s) } s: …

(unrated) SRM 644 Div1 Easy, OkonomiyakiParty

SRM

問題 N (< 50) 種類のお好み焼きがある. i 番目の大きさは配列 osize[i] (< 10000) で与えられる. このうち M (< N) 種類を選ぶときに, 最も小さいものと最も大きいものの差が K 以下となるような選び方は何通りあるか, 1,000,000,007 の剰余で求めよ. 方針 …