Stop pushing on the vector
For better performance
This commit is contained in:
parent
65aed86783
commit
7aad87810f
13
sa.hpp
13
sa.hpp
@ -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();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user