竞赛中用到的一些STL

memset(a,0,sizeof(a));        //数组初始化为0
memset(b,-1,sizeof(b));       //数组初始化为-1

不使用cmp:在上升序列中找第一个比k大的
使用cmp:在下降序列中找第一个比k小的
两者默认都是从前向后找,lower更靠前,找到的可以等于k
bool cmp(int a,int b) {return a>b;}
lower_bound(a+1,a+n+1,k,cmp);
upper_bound(a+1,a+n+1,k,cmp);

#include <stack>
stack<int> s;
s.push(1);
s.top();
s.pop();

队列

#include <queue>
queue<int> q;
q.push(1);
q.front();              //取队尾(最前面的)
q.pop();		//取队尾进行删除

优先队列(默认最大堆,以dj里的最小堆为例)

struct node
{
	int id;
	int w;
	
	bool operator<(const node &x)const {return w>x.w;}
};
priority_queue<node> q;
q.push((node){x,0});
u=q.top().id;
q.pop();
q.empty();
上一篇:Python 文件和文件夹篇 03


下一篇:拳打电脑管家,脚踢金山毒霸,3分钟用Python撸一个杀毒软件