読者です 読者をやめる 読者になる 読者になる

lighttpd(ライティー)で数独サーバーを作った話

tl;dr: Apacheで数独サーバーを作った話 - koba-e964の日記の続きです。 きっかけ 前回(Apacheで数独サーバーを作った話 - koba-e964の日記)の制作途中でいただいた以下のようなコメントがきっかけで、lighttpdでも作ってみることにしました。@kobae964 ligh…

Apacheで数独サーバーを作った話

tl;dr: Apache + Dockerでサーバーを作ってherokuにdeployしました。ソルバーは https://sparkle-sudoku-solver.herokuapp.com/ にあります。 作ったもの 数独パズルを解く、Web上で動くソルバーを作りました。(https://sparkle-sudoku-solver.herokuapp.com…

データ構造と代数構造

この記事は、Competitive Programming Advent Calendar 2016 - Adventarの15日目の記事です。 この記事について 去年(2015年)の12月ごろ、「セグメント木が任意のモノイドに対して使えるという(当たり前のことが)明示的に書かれた日本語の記事がないなぁ」と…

CODE FESTIVAL 2016 参加記

時系列順に書いていきます。 1日目 到着 11:10頃到着した。知り合いが結構いた。 本戦 本戦は3時間(12:30 - 15:30)であった。4完(A,B,C,D)2半(E,H)の計2,700点(54位)でパーカーを取得した。以下簡単に時系列順にコンテストの進め方を書く: 0h00m - 0h30m (12…

CODE THANKS FESTIVAL 2014(A日程) 参加記

当時(2014/12/7)に書いたまま下書きに残っていたので、今更&未完成気味ですが一応公開しておきます。 --------------------------- 2014/12/7のCODE THANKS FESTIVAL 2014 A日程に参加してきました。 問題の感想 A カメツル算 4 * a + 2 * b。 やるだけ。 B …

素数判定を1.5倍速くする話

あと対32bit/64bit限定高速素数判定頑張った http://t.co/nTP8RI7Uhh てのも読んだ。巧いwitnessとればそれぞれミラーラビン3発/7発で確実に判定できることが知られているわけだけど、最初にハッシュで擬素数を散らすことでそれぞれ1発/3発で倒す— kinaba (@…

Scala覚え書き(構文編)

最近Scalaを始めました。(函数型プログラミングと手続型プログラミングの良いとこ取りをできると聞いて)以下覚え書きみたいな感じでこの数日で学んだことを書いていきます。 主にJavaを知っている人向けにJavaとの違いをメインに書きます。 今回は構文の話で…

ラムダ式→SKIコンビネータ項

概要 ラムダ式をSKIコンビネータの式に変換するプログラムを書きました。 koba-e964/ski-comb · GitHub やったこと ラムダ式→SKIコンビネータの項の変換 実装は 高階ことりちゃんと学ぶSKIコンビネータ を参考にしました。 例 Haskell風の書き方で説明します…

ICPC 2014 Domestic

ICPC 2014 DomesticにAyatakaというチーム名で参加しました。 (メンバ:ばいなり(b_inary), うどん(kw_udon_), こば(kobae964))A うどんがやってくれましたB 私がやりました( Ideone.com - 2gTylp - Online C++ Compiler & Debugging Tool )C ばいなりがやっ…

モナド変換子の圏論的理解(Categorical understanding of monad transformers)

モナド変換子 Haskellにおいてモナド変換子(Monad transformer)は、以下の条件を満たすtです: tのkindは(* -> *) -> * -> * lift :: Monad m => m a -> t m aが定義されている liftが以下の法則を満たす: lift . return = return ∀m k. lift (m >>= k) = lif…

Haskellでのエラー処理について(ErrorT, ExceptT)

Haskellでインタプリタ( https://github.com/koba-e964/experiment/tree/master/typeinf )を書いていて、エラー処理をしたくなったのでモナド変換子ErrorTを導入しました。その後別の環境でコンパイルしてみたら (前略) Use Control.Monad.Except instead (…