Stop pushing on the vector

For better performance
This commit is contained in:
Segcolt 2024-10-12 21:24:16 -03:00
parent 65aed86783
commit 7aad87810f

13
sa.hpp
View File

@ -58,6 +58,9 @@ class solution {
its.insert(i); its.insert(i);
} }
this->items.resize(items.size());
size_t i = 0;
long long cap = capacity; long long cap = capacity;
while (!its.empty()) { while (!its.empty()) {
@ -65,14 +68,14 @@ class solution {
if (itr == its.begin()) { if (itr == its.begin()) {
cap = capacity; cap = capacity;
cap -= *its.begin(); cap -= *its.begin();
this->items.push_back(*its.begin()); itr = its.begin();
its.erase(its.begin()); } else {
continue;
}
itr--; itr--;
cap -= *itr; cap -= *itr;
this->items.push_back(*itr); }
this->items[i] = *itr;
its.erase(itr); its.erase(itr);
i++;
} }
fitness = calculate_boxes(); fitness = calculate_boxes();