1. 堆 大顶堆
priority_queue<int> q;
小顶堆
struct cmp {
bool operator()(int a, int b) {
return a > b;
}
};
priority_queue<int, vector<int>, cmp > q;
2. 最小生成树
最开始声明数组的时候有: edge结构体数组、tree数组(用来放根节点)、节点数组(不一定有)
一定要注意长度,前两者的长度需要是 点*点+1!!不然会runtime error
3. 关于string,char
char str[600]; string a;
gets(str); //注意vs中要用gets_s
a = str;
int loc = b.find(a, 0);
while (loc != string::npos) {
b.erase(loc, a.size());
loc = b.find(a, loc);
}