列型 SplayTree (区間取得、区間更新、区間反転、区間回転シフト、要素検索)

Back
Language: cpp
License: MIT License (Standard)
Prefix: MyBinaryVector
Description:

処理あたりのならし計算量が O(log Q) 時間になる代わりに、std::vector でやりたいことが大抵この計算時間でできる (std::vector は挿入と削除が O(N) 時間)。
加えて以下の処理をできる。

  • 区間 Sum,Min,Max (書き換え可能)
  • 区間更新 : Affine 変換、一律更新 (書き換え可能)
  • 区間反転 , 区間回転シフト
  • 要素の位置検索

以上もならし計算量が O(log Q) 時間です。コード下部に使用例を付けてあります。

Verified Links
No verified links added