Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modularize lazy segment tree #228

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

IvanRenison
Copy link
Contributor

resolves #227, resolves #216

I have separated the operations of lazy segment tree in to functions so now it should be easy to modify.
I tested a modified operation with CSES Range Updates and Sums: https://cses.fi/paste/7b5c0925b9926d5f640805/

@IvanRenison
Copy link
Contributor Author

Is this pull request going to be accepted or closed?

@IvanRenison
Copy link
Contributor Author

@simonlindholm

@simonlindholm
Copy link
Member

Is this pull request going to be accepted or closed?

Sorry for failing to respond to this. I've been hesitant to generalize the lazy segtree is the past, because there's so many possible variations, e.g. the classical sum/min/max interacting with add-on-range+set-on-range, but also wanting to support complex ad hoc pushing conditions, and I've felt like any generalization risks making things abstract and hard to understand and modify. The lazy segtree is due for a rewrite though, e.g. due to its bad performance, and there's been multiple people asking for this... So maybe. Although, KACTL is kinda in low maintenance mode atm, with me no longer actively competing, so I reckon it will take a while before anything happens on this front.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lazy segment tree is difficult to modify for other operations Beginner-friendliness of Lazy Segment Tree
2 participants