| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
AtCoder.Extra.Monoid.RangeAddId
Contents
Description
Synopsis
- newtype RangeAddId a = RangeAddId a
- new :: a -> RangeAddId a
- act :: Num a => RangeAddId a -> a -> a
RangeAddId
newtype RangeAddId a Source #
Range add monoid action.
Example
>>>import AtCoder.Extra.Monoid (SegAct(..), RangeAddId(..))>>>import AtCoder.LazySegTree qualified as LST>>>import Data.Semigroup (Max(..))>>>seg <- LST.build @_ @(RangeAddId Int) @(Max Int) $ VU.generate 3 Max -- [0, 1, 2]>>>LST.applyIn seg 0 3 $ RangeAddId 5 -- [5, 6, 7]>>>getMax <$> LST.prod seg 0 37
Since: 1.0.0.0
Constructors
| RangeAddId a |
Instances
Constructor
new :: a -> RangeAddId a Source #
Creates RangeAddId.
Since: 1.0.0.0
Action
act :: Num a => RangeAddId a -> a -> a Source #
Applies one-length range add: \(f: x \rightarrow d + x\).
Since: 1.0.0.0