In segment we can use a custom/user-defined aggregator, and Softball I am strong I am gutsy I am bold I am a Pitcher shirt like MAX, SUM, MIN, PRODUCT etc, for pre-processing of the nodes. The aggregator should run on disjoint ranges. After pre-processing the range the corresponding nodes store the answer for that particular range for the given array. You can define you own mathematically function to preprocess the nodes; this part is the most interesting one!
Softball I am strong I am gutsy I am bold I am a Pitcher shirt, Hoodie, Sweater, Ladie Tee, Vneck, Bellaflowy, Kids Shirt, Unisex and Tank Top, T-shirt
Best Softball I am strong I am gutsy I am bold I am a Pitcher shirt
We preprocess the the list/array, so that the Softball I am strong I am gutsy I am bold I am a Pitcher shirt There are two types of preprocessing : on-line and off-line. We can visualise ST as a tree like we do in merge sort and like in the merge sort algorithm the nodes in the ST also store an aggregate value for a range in the given array; the aggregate value in the node in merge-sort is the sorted values in the given range [L, …R]. Using clever approach we can also sort an array using ST.