>>368 いず みー
ttp://ideone.com/stwHzp
ベンチマーク作ったよ。
これぞ究極の圧縮展開アルゴリズム!しかも可逆!!!ただし、o(N!)だ。
現在のC++では20バイト程度しか圧縮できない。
それでもかなりかかる。
軽いなーと思ったら、MakeData()の数字を上げてみましょう。
多倍長はいっても、何メガバイトまで圧縮できるのやら・・・。

*順列圧縮*
バイナリをとあるソート済みの配列の順列の途中経過であると仮定する。
ならば、バイナリを順列にかければ1週の間に最低一回はソート済みの数列になるのではないか。
という理論を思いつきまして、書いてみたんですよ。
採算分岐点は3kb程度、o(3000!)とかふざけてるが、それ以上になるとなんでも概ね3kb程度に収まる。
とにかく順列が馬鹿みたいに重いのでこれを高速化できればストレージ問題はほぼ解消する。
ランレングスこそ過去にして未来だったのだ。
と、いう感じです。