日本語崩壊
Clusterの持ち物
- 向きに関係ない情報 all
- 向きが関係する情報
- 正方向 pre
- 負方向 suf
- Rakeで突き刺さってきている情報 chd
Rake
必ずあとでCompressされる側が一番左になるようにしておく
Rake(Cluster x,Cluster y)のxの方が後でCompressされる
x.suf はCompressで使うかもしれないのでいじらない
y.pre をx.chdにくっつける
Rakeは二分木なのでy.chdに他のpreがくっついてることがある よってy.chdもx.chdにくっつける
両端
両端は上にあるのでget_subtree(a,b)とget_subtree(b,a)をくっつける
細かい話
複数の変数をまとめると意味論が爆発して死ぬ
デバッグが異常に難しいので定数倍改善は動くのを確認してからの方がいい