Kyopro Library
 
読み取り中…
検索中…
一致する文字列を見つけられません
SegTreeDynamic< Monoid > 構造体テンプレート

動的セグ木 [詳解]

#include "segtree_dynamic.hpp"

公開型

using Type = typename Monoid::Type
 

公開メンバ関数

 SegTreeDynamic (ll mx=1e9, int q=5e5)
 サイズ mx の動的セグ木を宣言する
 
void set (ll i, Type v)
 i 番目の要素を v に変える
 
Type fold (ll l, ll r, int idx, ll left, ll right)
 区間 [l, r) のモノイド積を返す
 
Type fold (ll l, ll r)
 
Type operator[] (ll i)
 

詳解

template<typename Monoid>
struct SegTreeDynamic< Monoid >

動的セグ木

segtree_dynamic.hpp5 行目に定義があります。

型定義メンバ詳解

◆ Type

template<typename Monoid>
using SegTreeDynamic< Monoid >::Type = typename Monoid::Type

segtree_dynamic.hpp6 行目に定義があります。

構築子と解体子

◆ SegTreeDynamic()

template<typename Monoid>
SegTreeDynamic< Monoid >::SegTreeDynamic ( ll mx = 1e9,
int q = 5e5 )
inline

サイズ mx の動的セグ木を宣言する

segtree_dynamic.hpp9 行目に定義があります。

関数詳解

◆ set()

template<typename Monoid>
void SegTreeDynamic< Monoid >::set ( ll i,
Type v )
inline

i 番目の要素を v に変える

segtree_dynamic.hpp17 行目に定義があります。

◆ fold() [1/2]

template<typename Monoid>
Type SegTreeDynamic< Monoid >::fold ( ll l,
ll r,
int idx,
ll left,
ll right )
inline

区間 [l, r) のモノイド積を返す

segtree_dynamic.hpp53 行目に定義があります。

◆ fold() [2/2]

template<typename Monoid>
Type SegTreeDynamic< Monoid >::fold ( ll l,
ll r )
inline

segtree_dynamic.hpp68 行目に定義があります。

◆ operator[]()

template<typename Monoid>
Type SegTreeDynamic< Monoid >::operator[] ( ll i)
inline

segtree_dynamic.hpp70 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: