OJ中C++常用函数、数据结构使用

在一些OJ中,经常会需要调用一些语言的库函数,但是大多数情况下,自己需要查各种文档,这如果是考试或者是在平时些程序的过程中,是很不流畅的。

这里记下自己每次遇到过需要查文档的相关使用,以便日后复习回顾。


IO

1. getline 读入一行到string

1
2
string s;
getline(cin, s);

针对STDIO的优化

1
2
3
4
5
static int ____ = []() {
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}();

stringstream

1
2
3
4
std::string input = "41 3.14 false hello world";
std::istringstream stream(input);
int n;
stream >> n;

Data Structure

set

1
2
3
4
5
6
set<int> s;
s.insert(3);
s.erase(itrator);
s.find(5) != s.end();
s.count(5) == 1;
vector<T>(s.begin(), s.end()); // set to vector

Algorithms

remove_if

1
2
3
4
str2.erase(std::remove_if(str2.begin(),
str2.end(),
[](unsigned char x){return std::isspace(x);}),
str2.end());