Entries from 2010-01-01 to 1 year

TeX のコマンドライン引数とか

tex

ちょっと調べた。 コマンドラインからソースを直接食わせられる -interaction=nonstopmode のときに改行を含む入力を食わせると怒られるらしい -jobname=hogehoge で出力が hogehoge.dvi とかになる ということはこんなふうに preamble をスクリプトで生成し…

サブアカウント作成

なんとなくサブアカウントを作りました: id:llkozimaたぶん主に研究まわりで考えていることなどをひたすら思いつくままに流します。推敲とかしませんよ。

たまには日常のことなど

突然寒くなりました。今夜は息が少し白く見えます。毎年毎年思うことですが,もう冬を迎えるのも二十数回目なのだから,だいたい何月何日ごろに上着がほしくなって,息が白くなって,朝方の道路に氷を見かけるようになって,とかいったことを,そろそろ覚え…

謎の runtime error

いつからか,codeforces に F# で submit するとランダムに runtime error が発生するようになっている模様。blog に書いてみたところ,「Mono をアップグレードしてるとこだから,そのせいかも」という反応がありました。とりあえず待機するしかないか。

きれいに書けないループ

ちょっとした疑問,兼 Euler 302 反省会。いろいろミスしたのだけど一番しょうもないやつ。N > n * p^e となる e についてループしたい。どう書きましょう,というお話。素直に書くと for (long n1 = n * p; n1 < N; n1 *= p) { ... }ですが,N, p が大きい…

unsolved problems (200--)

昨日の続き。200 以降。 212 Combined volume of cuboids: これはそういうアルゴリズムがあるのだろうか。調べてみるといいかもしれない。 226 A scoop of blancmange: たぶん難しくないんだろうけどなぜか手が動かない問題。なぜだろう。 229 Four represen…

unsolved problems

とりあえず 200 まで。 161 Triominoes: たぶん方針が見えてるのでやればできると思っている。 167 Investigating Ulam sequences: Google で検索かけたところいくつかの性質が知られているらしいのでそれを組み合わせればできそう。本当にできるかどうかは…

Codeforces 26

参加しました。今回は新しいルールということで,lock と hack という仕組みが導入されました。システムとしては topcoder の SRM に近くなっているようです。 A. Almost prime numbers 相異なる素因数をちょうど二つもつ正の整数を almost prime number と…

CodeChef August 2010 Challenge

なんとなく。相変わらず難しい。Stepping Numbers と Swarm of Polygons の方針がだいたいわかった気がするのだけどいろいろと実装が大変というか面倒だなあとか。Stepping Numbers は上限が 2^64 なので unsigned long long 相当の値が扱える言語でないと厳…

abstract に含まれる単語の比較をしてみた

雑誌ごとの傾向の比較をするための客観的な指標はないかなと思って,試しに abstract に現れる単語を比較してみました。知識があればもっと数学的に裏打ちされた何かを使うところなのでしょうが,よくわからないので適当に当たりをつけて見比べるだけ。Web o…

論理系の雑誌まとめ

探してみました。ついでに最近の論文のタイトルを眺めて特徴を比較してみました。でもあんまり読めてる自信ないので鵜呑みにしないでください。 Algebra and Logic http://www.springer.com/mathematics/algebra/journal/10469 http://math.nsc.ru/~alglog/…

逆行列の計算

必要になって何となく OCaml で書いて何となく晒す。なんとなく面倒臭そうなイメージを持ってたんですが,実際に書いてみたらそうでもありませんでした。破壊的代入の塊であるという点では関数型らしくありませんが,配列の破壊的操作が Array.iteri で思い…

Project Euler 146

ずいぶん長い間解けないでいた問題をとりあえず解きました。forum を読んだ感じだと,これは素数判定をする問題だったようですね。素数判定をやらない解き方を紹介してみます。遅いです。あと細かい調整や最適化がいくつかありますけどたいして面白くないの…

codeforces 25

昨日の Codeforces Beta #25 にまた参加しました。Div 2 only に毎回参加できる程度の能力。反省会。 A. IQ test 三つ以上の自然数が与えられます。一つだけ奇偶が異なるものがあります。それが何番目にあるか答えましょう。一部で問題文が難しいとの評判が…

codeforces 24

Codeforces Beta #24 参加しました。久しぶりに反省会。 A. Ring road リング状の無向グラフに向きをつけました。ばらばらに向きをつけたので一周できません。一周したくなったのでいくつかの辺の向きを変えます。各辺の向きを変えるのに必要なコストが与え…

多段階計算における継続

最近,古典論理に対応する計算体系について勉強してます。古典論理だと Peirce's law と call/cc が対応するとかいう話がわりと有名で,基本的にはコントロールオペレータを含む体系になります。それで,そこにさらに様相が入った場合にはどんなことになるの…

F# での出力

Codeforces 22 Problem C を F# で書いたら TLE 食らいまくったので対処法メモ。この問題は出力が最大で 10^5 行 (800KB) くらいになるので,出力のところで気をつけないと時間が足りない模様。最初は一行ごとに printfn してたのですが,それだと苦しいよう…

yield と Common Lisp の collect clause

なんか似てるなって思ったことを。例として素数の列挙を考えます。F# だと,こんな風に書けます。 let primes n = seq { for x = 2 to n do if isprime x then yield x } 要するに,2 から順番に見ていって,素数だったときだけ yield するわけです。Python …

一行読み込んで空白で切ったリストを作る

codeforces の問題を解きながらコード書く練習中。使えそうなパターンを蓄積してみたい。既出とか気にしませんよ。 let readWords fn = stdin.ReadLine().Split([|' '|]) |> Array.toList |> List.map fn GCJ で拾ったコードの中にあったものを少し改造した…

F# 始めました

codeforces で F# が使えるようになったということもあり,試しに使ってみることにしました。ということを書こうとしたら前回のエントリとかぶってましたが気付かなかったことにします。xyzzy で F# 用のモードがないかなと思ったのですが,それらしいのが見…

F# を触ってみた

F#

codeforces でも対応したらしいので Java から F# へ移行をもくろみつつ,とりあえず実行できる環境を整えました。Visual Studio とかいりませんよ。処理系だけください。とか思ったんだけどどうしたらいいのかいまいちわからなかったりして手間取りました。…

マクロの罠

tex

文書を書いていると,ときどきメタ変数を何にするかで迷うことがあります。そんなときは,後で変えたくなったときのために \newcommand{\FRM}{\mathcal{F}} とか書いておいて,本文中では $\FRM$ と書くわけです。ところがそうすると,本文中で「V を F-valu…

TFAE

"the following are equivalent" であって "the followings are equivalent" ではないようですが,すぐ忘れるので困っています。the following は単複同形。単複同形。

Problem 216 解いた

一年半くらい分からないでいた Problem 216 が解けました。わあい。他の問題の forum でネタバレしただけですけど。

typesetting set comprehension

tex

前から,きっとやり方があるに違いないんだけどどうやればいいのかよく分からないと思っていたこと。TeX でみたいな表記の真ん中の縦棒を,手で指定しなくてもいい感じの長さにしてほしい。で,たまたま拾いました。 \documentclass{article} \def\set#1#2{\…

GCJ Qualification Round

とりあえず参加して通りました報告。どの問題も,素朴に書くとたぶん large が終わらない程度の計算量にしてあります。だから少しは賢く計算する必要がありますが,どれもそんなに難しくはなかったと思います。C はちょっとややこしいか。目を引く点として,…

composition calculus

あなごるに出てた composition calculus が面白そうで,真面目にインタプリタを書いてみたくなったので OCaml で実装してみた。所要時間は Stream のインタフェースを思い出すところから始めて全部で一時間くらい。 type token = char type expr = Atom of t…

ジグソーパズルを線形時間で解く

むりやり理想化を重ねて形式化したら,ピース数に対して線形時間でできることになりました。 すべてのピースに ID を振る 各ピース p の各辺について,辺の形状を符号化し,符号からピース p へのマッピングを作成する。(この前処理により,辺の形状をキーと…

本を読もうと思った

前から自覚はありますが,僕は全然本を読まない人です。どのくらい読まないか,という数字を具体的に書いたところで同程度に読まない人はきっとそこら中にいて面白くないので書かないでおきますが。*1専門書なんかもほとんど読んでいないので,専門に近い数…

MathMania 参加

CodeFest というイベントの一環として開催された MathMania というコンテストに参加しました。195 点満点中 145 点で 6 位になりました。思いの外上位に入れたし,問題を見た瞬間は半分も解けないかなと思っていたのが結局時間内に一応全問正解かそれに近い…