Hatena::ブログ(Diary)

雑記

2013-06-19

skk-autoloads.el が文字化けする

ddskk をビルドしようとするとこける。

調べてみると、 skk-autoloads.el の中が文字化けしていた。

これは、skk-autoloads.el の文字コードSKK-MK 内で指定されているのが原因。

SKK-MK 内の SKK-MK-generate-autoloads-el 関数に、文字コードを指定している箇所があるので、適当に修正すればいい。

2013-04-25

[] OMakeでcamlp4を使ってビルドする

USE_OCAMLFIND = true

として、ocamlfind を使うようにした上で

OCAMLFINDFLAGS += -syntax camlp4o -package meta_conv.syntx

というようにするのが、たぶん楽。

なかなか分からなかったので、メモしておく。

2012-03-04

[][] HaskellからAOJにサブミットする

http-enumerator使って書いた。

大したコードじゃないので、ここに貼っておくことにする。

twitter-enumeratorのコードを参考にした。

気が向いたら、公開されているAPIのためのコードも書いてまとめるかもしれない

{-# LANGUAGE OverloadedStrings #-}

import Prelude hiding (dropWhile)
import Network.HTTP.Enumerator
import qualified Network.HTTP.Types as HT

import Data.Enumerator (Iteratee, throwError, run_)
import Data.Enumerator.List (dropWhile)

import Data.ByteString (ByteString)

import Control.Monad.Trans.Class (lift)
import Control.Monad.IO.Class (liftIO)

endpoint :: String
endpoint = "http://judge.u-aizu.ac.jp/onlinejudge/servlet/Submit"

userID :: ByteString
userID = "your user id"

password :: ByteString
password = "your password"

api :: ByteString -- method
       -> String  -- url
       -> HT.Query -- query 
       -> Iteratee ByteString IO a
       -> Iteratee ByteString IO a
api m url query iter = do
  req <- lift $ makeRequest m url query
  mgr <- lift newManager
  http req (handleError iter) mgr
  where
    handleError iter' st@(HT.Status sc _) _ =
      if 200 <= sc && sc < 300
      then iter'
      else throwError $ StatusCodeException sc "Bad Status Code"

makeRequest :: ByteString -> String -> HT.Query -> IO (Request IO)
makeRequest m url query = do
  pu <- liftIO $ parseUrl url
  return $ pu { method = m, queryString = query }

submitQuery user pass pid lang src =
  [("userID"    , Just user),
   ("password"  , Just pass),
   ("language"  , Just lang),
   ("problemNO" , Just pid),
   ("sourceCode", Just src)]

submit :: ByteString -- problem id
          -> ByteString -- language
          -> ByteString -- source code
          -> Iteratee ByteString IO a -- iter
          -> Iteratee ByteString IO a
submit pid lang src = api "POST" endpoint (submitQuery userID password pid lang src)

main :: IO ()
main = do
  run_ $ submit "0000" "C" "int main(){return 0;}" (dropWhile (const True))

2012-01-14

[] Gentootexとbeamer

とりあえず、texliveとdvipdfmxいれる

# emerge --autounmask-write texlive dvipdfmx
# emerge texlive dvipdfmx

beamerもいれる

# emerge beamer

これで日本語なしなら

$ platex test.tex
$ dvips test.dvi
$ ps2pdf test.ps

pdfが作れる。

dvipdfmxは、なぜか失敗して、何も表示されないのであきらめた。

このままだと日本語化けるので、どうしたものかな

2011-11-15

[]ICPC2011 地区予選福岡大会

結果

5ACで12位でした。

大学順位だと9位タイらしい。

本番

A,B,D,E,Fの順に解きました。

A,B,Dは特に何もなく書けばよい、というだけだったのですけど、3人ともFはよく分からんということになってしまっていて、DP力の不足を感じます。

Eはチームの人がいつのまにかテーブルを作って、通してしまって、ぱないと思いました。

最後の1時間はC or Hができそうな感じがしていて、かつ、どちらもやる時間は明らかになさそうだったので非常に悩ましいところだったのですが、Hを1時間弱で書ききる自信がなく、Cへ行きましたがこっちも探索を書ききれずという感じでした。

Fをもうちょっとするっと解ければ、+1問ぐらいは不可能ではなかったなぁと思います。

反省

5ACというのは、今のチームだとわりとよくできたほうだと思うので、これ以上の順位をとりたかったら、個々人がもっと実力をつけるしかなさそうですね。

Connection: close