7/8記録

昨日参加したSoundHound Inc. Programming Contest 2018 -Masters Tournament-のC,D問題の復習をしました. soundhound2018-summer-qual.contest.atcoder.jpC問題 C: Ordinary Beauty - SoundHound Inc. Programming Contest 2018 -Masters Tournament- | AtC…

ハノイの塔

Pythonでハノイの塔を解くプログラムを書きました。 GUIの表示にはmatplotlibの棒グラフを使いました。 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation def plot(): plt.cla() plt.xlim(-0.5,2.5) plt.ylim(…

emacsの模様替え

emacsは文字や背景の色を設定できるプリセットテーマを搭載しています。今まで初期設定でやってきたので、emacsのテーマとついでにフォントも変更してみました。before after フォントの変更、テーマのロードはemacs.d/init.elに (load-theme 'wombat t) ;; …

ポーカー遊び完結編

前回のコードに加え、リストをシャッフルする汎用関数(トランプデッキにも適用可能)などを実装しました。デッキを人数分に分けるdistributeも作りました。 randompick [] = return Nothing randompick xs = do x <- randomRIO (0,length xs - 1) :: IO Int r…

Haskellでポーカー?

長いコードになりましたので続きから

Haskellの型クラスを利用した有理数型

タイトル通りです。 data Ration = Integer :/ Integer | AddID instance Eq Ration where (x :/ y) == (x':/y') = let s1 = gcd x y s2 = gcd x' y' in (x `div` s1 == x' `div` s2) && (y `div` s1 == y' `div` s2) instance Show Ration where show (x :/…

高速フィボナッチ

Haskellで書きました。 matrix2 (x1,y1,z1,w1) (x2,y2,z2,w2) = (x2*x1+y1*z2 , x1*y2+y1*w2,x2*z1+w1*z2,y2*z1 + w1*w2) repeat' n f x y | n < 1 = f x y | n == 1 = f x y | n > 1 = repeat' (n-1) f (f x y) y third (x,y,z,w) = z matrxpow m n | n == …

エラストテネスのふるい

エラストテネスのふるいを書きました erast t = let list = [2,3..t] erasti [] = [] erasti (x:xs) = x : erasti (filter (\y -> (y `mod` x) /= 0) xs) in erasti list ふるいに用いられる数字は素数であることが確定するので、再帰的に書けます。

AtCoder Beginner Contest 081を解きました

D問題とけない

AtCoder Beginner Contest 080を解きました

AtCoder Beginner Contest 080を解きました いうてもD問題がまだ解けない == A問題 A: Parking - AtCoder Beginner Contest 080 | AtCoder #include<stdio.h> int main() { int res,N,A,B,p1,p2; scanf("%d %d %d",&N,&A,&B); p1 = A * N; p2 = B; res = p1 > p2 ? p2</stdio.h>…

AIRの聖地和歌山県御坊市美浜町に行ってきました

keyの代表作『AIR』の聖地、美浜町に行ってきました。ローカル線紀州鉄道西御坊駅。非常に短い区間を走っています。一時間に一本しか電車がないので結局この路線は使用せず、自力でJR御坊駅から浜まで歩いていきました。 西御坊駅のすぐ前にあるAIRのOPで登…

鎌倉に行ってきました

夏休みなので旅行に行ってきました。 行き先は鎌倉です。 主にP.A.WORKSのアニメ『TARI TARI』の舞台を探訪しに行きました。 いろいろトラブルはあったけど楽しかったです。 続きから↓

Haskellでフィボナッチメモ化再帰

さっき挙げたプログラムだとfib(40)ぐらいでもう数十秒ぐらいかかり、だいぶ遅いです。 メモ化再帰フィボナッチをメモしておきます fib 0 = 0 fib 1 = 1 fib x = (fiblist !! (x-1) + fiblist !! (x-2)) fiblist = [fib x | x <- [0,1..]] 実行結果 ghci> fi…

Haskellでフィボナッチ数列

さっそくHaskellでプログラミングしています なかなか新鮮でおもしろいですね fib 1 = 1 fib 2 = 1 fib x = fib (x-1) + fib (x-2)実行結果 ghci> fib 8 21 ghci> fib 10 55Cで書いてもこんなもんですけどHaskellだと簡潔に書けますね

いろいろ買い物&スタジオ作りました

今日は街に行ってフィギュアの撮影スタジオの材料とかを買いに行きました。 ついでに夏休みに使う予定の青春18きっぷも買っておきました!!たのしみです 東急ハンズで買い物しましたが、いろいろなものがあって目移りしましたね。 理化学コーナーにビーカー…

ねこっかわいがり!クリア

ねこっかわいがり!全ルート読了しました! ただのイチャイチャ美少女ゲームでないことは知ってましたが、なかなかの内容でした。 僕はクレイン先生が一番のお気に入りです。最近ロリが熱い。 気になる方は是非プレイしてみてください。店頭では見かけないの…

はてぶで数式を書く

動的計画法のアレを書いてて数式がはてぶで書けたらいいなと思ったらどうやらTexが書けるようで k's diary様のサイトを参考にしました↓ TeXで数式をはてなブログに表示する - k's diaryで数式の表示 DP\left\[k\right\]\left\[n\right\] = \displaystyle\sum…

期末テスト

嫌だねえ...!

K-means法と画像の階調分類

K-means法とは類似したデータをいくつかのグループに分類するアルゴリズムの一つです。このアルゴリズムを利用して、画像の減色処理を行うプログラムを作りました。 この画像処理のコードについて、昔作ったjavaのコードですが引っ張り出してきました。

AtCoder-Typical DP Contest C問題をやりました

C問題もやりました。 以下問題文 C: トーナメント - Typical DP Contest | AtCoderProblem Statement 2K 人が参加するトーナメントがある。このトーナメントでは以下の形式で試合を行う。 第 1 ラウンドでは、1 と 2、3 と 4、… が試合を行う。 第 2 ラウン…

デスクトップの背景を変えました

カメラを買いました

AtCoder-Typical DP Contest B問題をやりました

前回に続いてB問題も解いてみました。 問題文以下 B: ゲーム - Typical DP Contest | AtCoder Problem Statement すぬけ君とすめけ君がゲームをしている。最初に、二つの山がある。左の山には A 個の物が積まれており、上から i 番目のものの価値は ai であ…

AtCoder-Typical DP Contest A問題を解きました

AtCoderのTypical DP ContestのA問題を解いてみましたAtCoderというのは、毎週アルゴリズム系のプログラミングコンテストを開催している所謂競プロの主催者です。 このコンテストの問題は、コンテスト後も公開されているので練習がてら解くことができます。 …

6/25のTOEICの結果

6/25に受けたTOEICの結果が帰ってきました。

生きる意味

a

キュー

キュー #include<stdio.h> #include<stdlib.h> typedef struct cell{ int id; struct cell *next; }Cell; typedef struct que{ Cell* front; Cell* rear; }Queue; Queue *make_queue() { Queue *que = malloc(sizeof(Queue)); que->front = NULL; que->rear = NULL; return que;</stdlib.h></stdio.h>…

ぎゅっとeeeeeがおわりました!!!

もう夏休み気分 うれしーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

双方向連結リストのインサートソートの書き直し

前記事で使ったダブルポインタを利用して書き換えました #include<stdio.h> #include<stdlib.h> #include<time.h> #define MAX 30 typedef struct link_tag{ struct link_tag *next; struct link_tag *prev; int id; }linked_list; void delete_element(linked_list*,int); void insert_</time.h></stdlib.h></stdio.h>…

単方向連結リストのインサート?ソート

すでにソートされている単方向連結リストに対して、ソートされている状態が崩れないように 新しい要素を挿入するプログラムを書きました #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> #define MAX 100 typedef struct link_tag{ struct link_tag* next; int id; }li</time.h></string.h></stdlib.h></stdio.h>…