テーブルの作り方が違ったようです

論文のやり方だと、各テーブル毎にπという関数を用意。この関数はnブロック中、テーブル毎に固有なkブロックを先頭p-bitになるように移動する。T[i].insert(π(f))と言うイメージっぽい。Tの中身はソートされている。これでバイナリサーチとか書かれていた意味が分かった。

俺が最初に勘違いした方法では、問答無用で2^pi個要素がある配列を作らなければならなかったため、明らかにこっちの方が省スペース。しかもまとまった一つのでかい配列が出来るので、後に書かれているHuffman符号を使った圧縮もかなり効率的に行うことができる。カシコス。