No Such Blog or Diary
真・ビッグチロル
- 2008-02-16 (Sat)
- 一般
いまのところビッグチロルは箱が大きいだけで中身は通常サイズ.でもやっぱり人としては中身もあのサイズのものがほしい.ということで,自前でビッグチロルサイズの抹茶チョコを作ってみた.
左が作成された真・ビッグチロル(抹茶ミルク).右がビッグチロルの箱.とりあえず重さは520g.どうやって食べればいいのかわからないのが問題なのかもしれない.
以下,作成過程抜粋.
まず原料.抹茶入れて緑色にしたいのでベースはホワイトチョコ.今回は大東カカオのクーベルチュールホワイトチョコ2kg(2780円).体積比を考えると600gぐらいでビッグチロル一個分くらいなので作ろうと思えばビッグチロル3つ作れるはず.でも今回は一個で十分なので一個分(600~700g)だけを砕いて湯せんにかける.
試食:もっと抹茶入れないと抹茶の味がしない.色はついてるけど色しかついてない….次回やるときにはもっと深い緑になるまで混ぜ込もう.ついでに,生クリーム入れてやわらかくしよう.
- Comments: 0
- TrackBack (Close): -
sedでmerge sortをしてみる
- 2008-02-15 (Fri)
- プログラミング ( sed/wake/awk )
入力は空白区切りの小文字のみで構成される文字列のリスト.出力はソート結果.あなごるのWord frequency count (FIXED) 用に作ったのだが… 問題の入力に出てくる単語のソートだけで手元のマシンでも6秒弱かかる.
# input: word1 word2 ... wordn # should be lower-case letters. no spaces except for the separator s/ /\n/g s/$/ /gm # each line is a sorted list :a /\n/!q s/^\(.*\)\n\(.*\)$/@\1: %\2/gm # each line: @word11 word12 ... word1n : %word21 word22 ... word2m # ':' is a separator of two lists # '@' is the head of non-merged part of the first list # '%' is the head of non-merged part of the second list :b # each line: sortedpart @word1i ... word1n : %word2j ... word2m s/^[^%@:\n]*$/~&/gm # already done s/^\(.*\)@\(.*\): % *$/~\1\2/gm # done (2nd list is consumed completely) s/^\(.*\)@: \(.*\)%\(.*\)/~\1\2\3/gm # done (1st list is consumed completely) /@/!be h s/^~.*$/~/gm # ignore merged lists s/^.*@\(\w*\).*%\(\w*\).*$/\1 \2/gm # prepare to comparation #------------------- parallel comparation ----- # input: word11 word12\nword21 word22\n...\nwordn1 wordn2 # should be lower-case letters. no spaces except for the separator # the entry '~' is ignored # algorithm: # make pairs of corresponding characters in two words # compare all pairs at the same time # take the first non-equal result of he comparisons s/^\| /&#/gm s/^#~ *$/~/gm :5 s/#\(\w\)\(.*\)#\(\w\)/\1\3 #\2#/mg s/#\w.*#$/>/mg s/# #..*/</mg s/# #$/=/mg t5 :1 :2 /a/b9 y/bcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxy/ b2 :9 s/a[^a] /</g s/[^a]a />/g s/aa /=/g /[^\n=<>~]/b1 s/^=*\(.\)/\1/gm s/^\(.\).*/\1/gm #----------- parallel comparation done ------ s/\n//g s/$/#/ G # [<>=]*#\nmergedpart @rest_of_list1 %rest_of_list2\n... # according to the results of comparations held in the head, # move a head of either the rest of list1 or list2 to the tail of merged_part. :m s/^[<=]\(.*\)\n\(.*\)@\(\w*\) \(.*\)%\(\w*\)/\1-\2\3 @\4%\5/m s/^>\(.*\)\n\(.*\)@\(\w*\)\(.*\)%\(\w*\) /\1-\2\5 @\3\4%/m s/^~\([^\n]*\)\n~/\1-/ tm s/-/\n/g s/#\n// bb :e s/~//g ba
一文字目でバケットソートしてマージソートを各バケットに適用とかしないとダメっぽい.とにかく操作文字列長を小さくしないと速度が…
- Comments: 0
- TrackBack (Close): -
TCO08 Qual 3 again
- 2008-02-14 (Thu)
- 一般
Primのアルゴリズム間違ったかな? 有向グラフ用の最小全域木アルゴリズム実装し始めた時点で終わってた気もする.問題よく読もう.そして1000点問題を全探索で書くのはバカだ.ということで,250点問題しか解けてねー.それ以前に開始直後にキーボードが反応しなくなるという時点でいろいろと悲惨だったのだが…
250点問題:シミュレートして終わり.
500点問題:最小全域木作って終わり.
1000点問題:行と列で奇数部分をフリップすると他方の偶奇の数が入れ替わる.これに気づけば簡単な条件判定.
追記:どうやら本戦にいけるらしい.
- Comments: 0
- TrackBack (Close): -
Remove Duplicate Messages (Alternate)
- 2008-02-13 (Wed)
- ソフトウェア
サーバ置換のせいで重複メールを受信しまくったのでそれらを削除するアドインRemove Duplicate Messages (Alternate) を入れてみた.とりゃーず重複メール全部打ち殺せた.めでたし.
- Comments: 0
- TrackBack (Close): -
TCO08 Qual 3
- 2008-02-12 (Tue)
- 一般
せっかく根性でポーカー書いたのにまた明日やり直しか...
結局サーバ停止は何が問題だったんだろう?
- Comments: 0
- TrackBack (Close): -
Emacs でインデントにタブを使わない
- 2008-02-11 (Mon)
- ソフトウェア ( Meadow/Emacs )
(setq-default indent-tab-mode nil)
でいいのだとか.Fortress のインタプリタがタブに反応してしまうのでこれをやっておかないと効率が悪い.
- Comments: 0
- TrackBack (Close): -