みくにまるのブログ

意識低い系ブロガー、みくにまるが送るブログ。

Haskell

Haskellで最長増加部分列(LIS)IOArrayやData.Setで試行錯誤

今度もAOJの練習問題から 最長増加部分列の問題に挑む。 最長増加部分列 | 動的計画法 | Aizu Online Judge コードを書く練習と割り切っているので 考え方は素直にググる。thさんという方のブログに 分かりやすい考え方が載っていたので これをHaskellで実装…

Haskellで動的計画法 ナップサック問題を解く

Haskellでナップサック問題を解く時のメモナップザック問題 | 動的計画法 | Aizu Online Judge とりあえずAOJのこの問題で通るコードを目標にする。 まずは叩き台 {-# LANGUAGE FlexibleContexts #-} import Control.Applicative import Data.Array main = d…

HaskellでAOJ ITP1_6_B不足しているカードの発見

なくなったカードの発見 | プログラミング入門 | Aizu Online Judgenput 最初の行に太郎が持っているカードの枚数 n (n ≤ 52)が与えられます。続いて n 組のカードがそれぞれ1行に与えられます。各組は1つの空白で区切られた文字と整数です。文字はカード…

HaskellでEOFを受け取るまで処理を繰り返すのに苦労したのでメモ

4つの整数の和 | Aizu Online Judge 50 以下の正の整数 n を入力し、0 ~ 9 の範囲の整数 a,b,c,d の組でa+b+c+d=nを満たすものの組み合わせ数を出力するプログラムを作成して下さい。 とりあえずパパっと作ったコードがこれ combinations n = [[a,b,c,d] |a…

HaskellでAOJ ITP1_2_A大小関係

Haskellの練習がてらAOJをちまちま解いてみる。 とりあえずトップページから 誰かが解いてる問題に適当に飛んで行けそうなら解くという方針。 早速最初の問題は 大小 等価 | プログラミング入門 | Aizu Online Judge 2つの整数 a, b を読み込んで、a と b …

Atom+IDE-Haskellが(初心者には)最強エディタだった

pythonを放り出して Haskellを学習し始めたは良いものの なかなか決定版のエディタというのが見つからないでいたのですが インストール方法 インストールには必須パッケージがいくつかあるので それらも一緒にインストールします。 apm install language-has…

haskell-vim-nowのインストール方法

準備編 まずはstackをインストール curl -sSL https://get.haskellstack.org/ | sh cabal-installをインストール stack setup stack install cabal-install PATHを通す PATH=$PATH:/home/ユーザー名/.local/bin gitも必要 sudo apt install git インストール…