算法竞赛技巧及注意事项
- ASCII码:小写字母比大写字母值大32
0—9: 48—57
A—Z: 65—90
a—z: 97—122 - 符号常量(宏定义):通俗讲就是“替换”
#include<cstdio>
#include<cmath>
#define pi acos(-1) //定义圆周率π,记为pi
int main(){
printf("%.2f", pi); //输出圆周率前两位3.14
return 0;
}
- const常量:和宏定义几乎相同作用
#include<cstdio>
#include<cmath>
const double pi=acos(-1.0); //注意与宏定义格式的不同
int main(){
printf("%.2f", pi); //输出圆周率前两位3.14
return 0;
}
- typedef取别名:给long long类型取别名LL,接下来代码用LL代替long long写
#include<cstdio>
typedef long long LL; //给long long类型取个别名LL
int main(){
LL num=123456789012345; //使用LL即定义long long类型
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来存储
- 使用符合赋值运算符,如/=、+=等可以加快编译速度,提高代码可读性
版权声明:本文为clfxyz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。