算法竞赛技巧及注意事项
- ASCII码:小写字母比大写字母值大32
0—9: 48—57
A—Z: 65—90
a—z: 97—122
- 符号常量(宏定义):通俗讲就是“替换”
#include<cstdio>
#include<cmath>
#define pi acos(-1)
int main(){
printf("%.2f", pi);
return 0;
}
#include<cstdio>
#include<cmath>
const double pi=acos(-1.0);
int main(){
printf("%.2f", pi);
return 0;
}
- typedef取别名:给long long类型取别名LL,接下来代码用LL代替long long写
#include<cstdio>
typedef long long LL;
int main(){
LL num=123456789012345;
printf("%I64d", num);
return 0;
}
- 输出格式:%md(m位右对齐0); %0md(对齐且前面补0)
- C语言输出%与\:
printf("%%"); printf("\\");
- for循环或者while循环条件,表达式“!=0”可以省略,表达式"==0"可以省略表达式并在前面加上“!”
- 如果数组比较大(大概10^6以上,int a[1000000]),则需要定义到主函数main外面。因为函数内部申请来自系统栈,允许空间较小;函数外面申请全局变量来自静态存储区,允许空间较大
- C++全面兼容C,使用C的输入输出语句scanf()与printf()比C++的cin与cout快约10倍
- 对于浮点型数据,不要使用float,都应用double来存储
- 使用符合赋值运算符,如/=、+=等可以加快编译速度,提高代码可读性