Segment Tree help

Ok mi sono visto la Lazy Propagation e dovrei aver capito come funziona (dimmi se sbaglio, quando devo aggiornare le foglie da a a b aggiorno solamente il nodo n che rappresenta l’intervallo (a,b), potrebbero esserci più nodi n1,n2,...ni nel caso in cui l’intervallo a b non sia rappresentabile in un solo nodo salvandomi in un altro albero a quali nodi dovranno essere svolte le modifiche e quali modifiche , nel momento in cui svolgo altri update devo controllare che i nodi che si trovano al disopra di quello che devo aggiornare siano stati propagati, altrimenti li devo propagare ed infine quando ho una query q su un intervallo (a,b)_1 devo assicurarmi che i nodi sui cui lavoro siano stati propagati altrimenti propagarli, spero di aver capito bene :smile: )

Ho seguito questa spiegazione : https://www.youtube.com/watch?v=xuoQdt5pHj0 , ma rimane il problema che il codice è in java (che non è del tutto un problema in quanto è facilmente traducibile questo sarebbe il codice: https://github.com/mission-peace/interview/blob/master/src/com/interview/tree/SegmentTreeMinimumRangeQuery.java )ma soprattutto non è “pensato” da usare su una classe creata da me ma su degli array avendo quindi un utilizzo molto vincolato, hai per caso l’implementazione in una classe?