Я решаю проблему с деревом сегментов.У него очень строгий лимит памяти, поэтому я не хочу использовать дополнительную n памяти для запоминания информации об отдельных сегментах и возврата ее из массива, из которого я построил дерево.
...
struct SegTree {
vector<int>* singleElements;
vector<int> tree;
SegTree() : singleElements(nullptr) {}
SegTree(vector<int>* arr) : singleElements(arr) {
tree.resize(arr.size() - 1);
build(...);
}
...
}
int main() {
vector<int> a(10, 1), b(10, -1);
SegTree st1(a);
SegTree st2();
st2.assign(b);
return 0;
}
Я не являюськонечно с этой частью с ++.Извините за мой плохой английский.