空格和换行.
单调队列更新长度时为
(i-d[i])>=k
详见http://blog.csdn.net/senyelicone/article/details/51842930.
清空数组.
printf一定不要加&,同理scanf一定要加&。%d之类的对应完全。
开数组一定要开对!!!(大5~6,二倍之类的条件)
const double maxx=1e50; //表示maxx为10的50次方~
abs()整数绝对值,fabs()...
double ab(double u)
{
return u>0 ? u:-u;
}
for(j=i-1;b[i]-b[j]<d[j];j--);
异或 (XOR、EOR、EX-OR) “^ ”
d = a ^ b ^ c → a = d ^ b ^ c.
a ^ b ^ a = b.
Edge& e=edges[G[z][i]]; //标记:可更改原数
exit(0)作用是无条件的退出程序,括号里可以是任何整型常量,作用都是一样的;
可以根据习惯设置不同的值表示不同原因的退出。exit(0)可以在正常退出次程序的运行,而exit(1)的是由于错误导致的结束.
exit(3)也行。
bool operator<(node r1,node r2) { //非常重要 (sort中使用)(“<”是要修改的符号)(感谢多倍体隐性纯合大巨SilverNebula的帮助)
return r1.t<r2.t;
}
初始化初始化初始化!
char c;
if(c=='D') //D一定要加单引号(不是双引号~)
Ascii码不记得的时候输一下(char)。
栈
stack<int> num;
stack<char> sym;
x=num.top();
num.pop();
num.push(x);
calc();
队列
#include<queue>
using namespace std; //非常重要
queue<Type> M //定义一个queue的变量
M.empty() //查看是否为空范例,是的话返回1,不是返回0;
M.push() //从已有元素后面增加元素
M.size() //输出现有元素的个数
M.front() //显示第一个元素
M.back() //显示最后一个元素
M.pop() //清除第一个元素
字符串
#include<cstring>
char a[N],b[N];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%s%s",a,b);
l1=strlen(a);
l2=strlen(b);
记一种神奇的输入字符串方法
scanf("%s",s+1);
同时长度也要写成这个样子:
n=strlen(s+1);
三目运算符
a > b ? a : b
memset(f,1,sizeof f);(老师没有加括号呢)
一种神奇的输入法
while(scanf("%s",s1) != EOF) { if(scanf("%s",s2) == EOF)
另一种更神奇的输入法
while(scanf("%s%s",s1,s2)==2)
↑
这个是输入字符串个数(没有加会很悲伤,还不容易检查)
vector
1 基本操作
(1)头文件 #include<vector>.
(2)创建vector对象 vector<int> vec;
(3)尾部插入数字 vec.push_back(a);
(4)使用下标访问元素 cout<<vec[0]<<endl (下标是从0开始的);
(5)使用迭代器访问元素.
vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
(6)插入元素 vec.insert(vec.begin()+i,a) 在第i+1个元素前面插入a;
(7)删除元素 vec.erase(vec.begin()+2) 删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j) 删除区间[i,j-1];区间从0开始
(8)向量大小 vec.size();
(9)清空:vec.clear();
#define maxn 101 没有分号!!
网页上看到的神奇开字符串方法
vector<string> v1; // 创建空容器,其对象类型为string类
vector<string> v2(10); // 创建有10个具有初始值(即空串)的string类对象的容器
vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器
vector<string> v4(v3.begin(), v3.end()); // v4是与v3相同的容器(完全复制)