auto p = find(v.begin(), v.end(), "ab");
v.erase(v.begin() + 1); // vector要用pointer删除
v.insert(v.begin(), "abc"); // for vector<string>
vector<int> f = {1, 2, 3};
swap(f[0], f[2]) // {3, 2, 1}
vector<vector<int>> four_ways = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
vector<vector<int>> dp(5, vector<int>(4, 0));
int n = s.count(4);
int n = s.erase("abc"); // can be void as well; return 1 if exist, 0 if not
upper_bound:
lower_bound: