No Such Blog or Diary
新ADSLモデム届く
回線自体はまだ切り替わっていないが,モデムのほうは新しいのがきた.とりあえずモデム変えただけで1割ほど下りが速くなったり.VoIP もうまく動いているようで何より(あんまり使わんような...).後は木曜日の回線切り替えでどれだけ速度が出るようになるかが気になるところ.10Mぐらいは出てくれるかなぁと期待してみよう.
- Comments: 0
- TrackBack (Close): -
風邪より復帰
- 2005-11-21 (Mon)
- 一般
のどの粘膜は1日寝てれば治るもんだなぁと感心.その代わり右目が変にいたいのだけど... とりあえず明日の発表資料を作りましょう.気が向いたら英語で書くか... その前に式をつめて実装しないとならんけど.
どうでもいいけど YU-NO の原版どこやったっけ?
- Comments: 0
- TrackBack (Close): -
風邪か...
- 2005-11-20 (Sun)
- 一般
完全にのどがやられたようで腫れとる... 自転車での全力疾走が悪かったのだろうか? とりあえず今日はおとなしく寝続けるとしよう.それにしてもラヂヲはあの短さで終わるのだろうか?
- Comments: 0
- TrackBack (Close): -
S.F. & Tokyo
- 2005-11-19 (Sat)
- 遊び
毒を食らわば皿まで... 6th & 7th City を通販にてゲット.ちぃと高いよ? ま,SHA-1 の Collision search attack を理解したら見るとしよう.
- Comments: 0
- TrackBack (Close): -
AMラジオって
- 2005-11-18 (Fri)
- 一般
受信できるデバイスが身の回りに皆無だなぁと初めて認識した.コンポやらラジカセがあれば受信できそうなものだがMP3プレーヤとスピーカで置換されてるし,MP3プレーヤもノイズとかの問題かFMしか受信できないし.明日の夜は需要があるので非常時にも役に立つと信じてラジオを購入.意外と高し.100円ショップとか行けば安く手に入ったのだろうか...?
- Comments: 0
- TrackBack (Close): -
ICPC by Haskell
ながながとICPC2005 Regional, Tokyo の問題Fを Haskell で.O(n^2) の DP で, 基本的に foldl の2重ネストと.Cで書いた場合と比べて for 文の代わりに foldl になっているだけの違いしかない...
-- Problem F in ACM/ICPC 2005 ASIA Regional Tokyo
-- 2005/11/04 O(n^2) DP
import Control.Monad
import Debug.Trace
import List
main = getProblems >>= mapM_ (putStrLn.show.solve)
getProblems =
do
[n] <- getNums
if n==0 then return []
else do
xs <- getNums
b <- liftM (head.map read.words) getLine :: IO(Double)
[sr,sv,se,sf] <- liftM words getLine
liftM ((xs, b, read sr, read sv::Double, read se::Double, read sf::Double):) getProblems
where
getNums = liftM (map read.words) getLine :: IO([Int])
solve :: ([Int], Double, Int, Double, Double, Double) -> Double
solve (ys,b,r,v,e,f) = sl ys [(0.0,0)]
where
-- xs:rest of checkpoints, cs:best cost for already passed checkpoints
sl [] cs = fst $ head cs
sl (x:xs) cs = sl xs (best x cs:cs)
-- (best cost, current cost, current point)
best x cs = (\(bc,c,p) -> (min bc (c + cost (x-p) x),x)) $ foldl op (100000000, 0, x) cs
where
op (cbc, c, p) (bc, pos) = let
c' = c + cost (x-p) (x-pos)
in (min cbc (c'+b+bc), c', pos)
cost p q = ct p 0.0
where
ct p c = if p == q then c
else ct (p+1) (c+step p)
step p = if p < r then 1.0 / (v-f*fromIntegral(r-p))
else 1.0 / (v-e*fromIntegral(p-r))
- Comments: 0
- TrackBack (Close): -