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

双対セグメント木 [詳解]

#include "segtree_dual.hpp"

公開型

using Type = typename CommutativeOperator::Type
 

公開メンバ関数

 SegTreeDual ()=default
 
 SegTreeDual (int n)
 要素数 n の双対セグ木を構築する
 
 SegTreeDual (const vector< Type > &v)
 配列 v から双対セグ木を構築する
 
void apply (int l, int r, Type x)
 
Type get (int i)
 
int size ()
 
Type operator[] (int i)
 

詳解

template<typename CommutativeOperator>
struct SegTreeDual< CommutativeOperator >

双対セグメント木

テンプレート引数
CommutativeOperator作用素
注意
作用素は果敢である必要がある

segtree_dual.hpp8 行目に定義があります。

型定義メンバ詳解

◆ Type

template<typename CommutativeOperator>
using SegTreeDual< CommutativeOperator >::Type = typename CommutativeOperator::Type

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

構築子と解体子

◆ SegTreeDual() [1/3]

template<typename CommutativeOperator>
SegTreeDual< CommutativeOperator >::SegTreeDual ( )
default

◆ SegTreeDual() [2/3]

template<typename CommutativeOperator>
SegTreeDual< CommutativeOperator >::SegTreeDual ( int n)
inline

要素数 n の双対セグ木を構築する

segtree_dual.hpp13 行目に定義があります。

◆ SegTreeDual() [3/3]

template<typename CommutativeOperator>
SegTreeDual< CommutativeOperator >::SegTreeDual ( const vector< Type > & v)
inline

配列 v から双対セグ木を構築する

segtree_dual.hpp19 行目に定義があります。

関数詳解

◆ apply()

template<typename CommutativeOperator>
void SegTreeDual< CommutativeOperator >::apply ( int l,
int r,
Type x )
inline

segtree_dual.hpp26 行目に定義があります。

◆ get()

template<typename CommutativeOperator>
Type SegTreeDual< CommutativeOperator >::get ( int i)
inline

segtree_dual.hpp34 行目に定義があります。

◆ size()

template<typename CommutativeOperator>
int SegTreeDual< CommutativeOperator >::size ( )
inline

segtree_dual.hpp44 行目に定義があります。

◆ operator[]()

template<typename CommutativeOperator>
Type SegTreeDual< CommutativeOperator >::operator[] ( int i)
inline

segtree_dual.hpp45 行目に定義があります。


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