2007-04-01から1ヶ月間の記事一覧

C++ で関数型プログラミング

C++

整数を読んでその階乗を出力するだけのプログラム。 #include <iostream> #include <algorithm> #include <iterator> // istream_iterator, ostream_iterator using namespace std; int factorial(const int n) { return (n <= 1) ? 1 : n * factorial(n-1); } int main() { transform(istre</iterator></algorithm></iostream>…

IAX Contest #2

IAX Contest #2 に参加してきました。結果は 5問中3問。28人中7位。 いまいちパッとしない感じ。。 システムについて Ajax なインターフェース。 格好良いんだけど使い勝手はあまりよくない。 特にエディタが全然使えないので、localで作ってアップロードし…

En effet

C++

Effective C++ と Effective STL を読了。 マニアックな話題の一部は斜め読みで済ませたのであとでまた読み返す。 次は More Effective? …あまり読む気がしない。 自分の知識の浅さ、C++という変態言語の底知れなさがある程度実感できた。 これでもまだ氷山…

initialized after

C++

たまに出て、なんなんだろうなぁと思っていたこの警告。 foo.cpp:37: warning: 'Foo::bar' will be initialized after調べてみると メンバ変数 d と i の宣言順と、コンストラクタ初期化子での記述順が違うとでる警告です。 メンバ変数の宣言順とコンストラ…

Effective STL

C++

Effective STL をぼちぼち読んでいます。 むちゃくちゃ勉強になるなぁ。 2章まで読んだところですが、知らなかったこといっぱいでした。 記憶の整理を兼ねて一部をまとめておきます。 template内で依存型(T::const_iterator とか)を使うときは、typenameで宣…

探索。

幅が狭い(縦に長い)木 → BFS 幅が広い(横に長い)木 → Iterative Deepening

bitset

C++

std::bitset を使ってみました。 http://www.cplusplus.com/reference/stl/bitset/ http://www.cppreference.com/cppbitset/ 「bitset<8>」 のように < > の中に型以外のものを突っ込めることを初めて知りました。これを使うとめくるめくメタプログラミング…

yet another online judge system

http://ojdev.dyndns.org/newarchive/Java 1.6 が使えるそうですよー。(他人事) 早くC++使えるようにならないかな。

Bit rot

ビット腐敗 とか ソフトウェア腐敗 とかいう言葉があります。長いこと触っていないと、コードというものは忘れられていくもので。 また大規模になれば、その存在すら記憶に残らないものが増えます。コンパイル時に叱られればいいんですが、陥穽に嵌っている…

Linux

coLinux を使う。 Debian を入れたのだが、apt-get dit-upgrade による etch へのアップデートではまった。 一気にやらず、woody → sarge → etch と、 順番にアップデートすると解決。 Linux 管理の基本を今までちゃんと勉強していなかったのでこれを機にい…

重複組み合わせ

また忘れ物。 http://yosshy.sansu.org/chofuku.htm n種類のボールがそれぞれ無制限にたくさんあり、それらの中からm個を取り出す取り出し方。 m人の人を、n個の部屋(定員無制限)に割り振るやり方。部屋は区別するが、人は区別しない。 → m 個の○と (n…

降べき

fの不定和分が分かると、f(x) の総和を効率よく求めることができる。 http://acm.uva.es/p/v103/10302.html 降べき x^{n} を以下のように定義する x^{n} = x * (x-1) * ... * (x-n+1) 差分/和分では、x^{n} が微分/積分における x^n と似た挙動をする。 n * …

日本が勝てない理由。

東大の「産業総論」で露呈 日本人の知力崩壊が始まった http://www.nikkeibp.co.jp/style/biz/feature/tachibana/media/070316_rotei/ 突っ込みどころ満載の文章ですが、既にいろいろ叩かれているので今更突っ込みません。 日本人はなぜプログラミングコンテ…

input integers

cin を使った入力がものすごく遅いので、ICPC系の問題を解く時に問題になってくることがあります。 普通はscanfを使っておけば問題ないのですが、まだ改善の余地があるので整数入力に特化した関数を自作してみました。 // integer (10進, 非負, 桁あふれしな…

順列都市。

Anagram http://acm.uva.es/p/v1/195.html 順列を列挙するだけの問題ですが、 英文解釈を激しく間違ってWAを連発orz ... should be output in alphabetically ascending order. An upper case letter goes before the corresponding lower case letter. これ…

メモ

C++

POJ Monthly contest やってきました。 今日学んだこと。 でかい配列は、ローカル変数として確保できない。 (causing segmentation error) ⇒ ヒープもしくはグローバルや静的変数の領域にとる。 環境によっては スタックサイズが数KBしかないとか。そりゃオ…