Знаете ли вы, что можно значительно ускорить работу с вектором, если заранее выделить память?
Метод reserve() позволяет избежать многократных перераспределений памяти:
std::vector v;
v.reserve(1000); // выделяем память сразу
for(int i = 0; i < 1000; ++i) {
v.push_back(i); // не будет перевыделений памяти
}
Это может в разы увеличить работу с большими векторами.
Библиотека C/C++ разработчика #буст