Closed NachiaVivias closed 7 months ago
HeavyLightDecomposition::path および HeavyLightDecomposition::subtree では区間として std::pair<int,int> の値を返しているが、これを次の構造体で作って返すように変更する。
HeavyLightDecomposition::path
HeavyLightDecomposition::subtree
std::pair<int,int>
struct Range { int l; int r; int size() const { return r-l; } };
subtree(v).size() で簡潔に部分木のサイズを取得できる。
subtree(v).size()
first , second よりも l , r のほうが短く、わかりやすいので、コーディングが早くなりそう。
first
second
l
r
pair を渡す関数がある場合、面倒になる。(これで面倒になる関数があった気がしないが。)
pair
概要
HeavyLightDecomposition::path
およびHeavyLightDecomposition::subtree
では区間としてstd::pair<int,int>
の値を返しているが、これを次の構造体で作って返すように変更する。メリット
subtree(v).size()
で簡潔に部分木のサイズを取得できる。first
,second
よりもl
,r
のほうが短く、わかりやすいので、コーディングが早くなりそう。使用時のデメリット
pair
を渡す関数がある場合、面倒になる。(これで面倒になる関数があった気がしないが。)