参加算法比赛必背函数及注意事项
函数
- c++常用头文件:algorithm,cstring,cstdio,cmath,iostream
- to_string ,atoi
- void *memcpy(void *str1, const void *str2, size_t n)从存储区 str2 复制 n 个字节到存储区 str1
- sscanf和sprintf都在
<cstdio>
中 - 手写比较函数
tips
- IO≥10的5次方数量级时,用scanf和printf
- 尽量将除法转换为乘法,避免因为取整之类的发出错误
- 观察数据范围,如果会溢出,可以用long long存结果,中间计算过程也要强制类型转换
- int变量存储str.size(),否则与负数进行比较时,表达式强转为unsigned,导致程序出错
- cstring和string是两个毫无关系的头文件,前者存放c语言常用的字符串处理函数,后者跟string类有关
- 枚举时,不要修改原数组,而是修改备份数组
- 取模时,如果结果可能是负数,应该手写取模函数
- 如果题目要求对1000007之类的取模,应该每两个数相加就取模一次,防止爆int
- 就算时间复杂度是10的8次方,也是可能ac的
- 读入多维数组时,最好一行行当作字符串读,而不是一个个字符读。后者不仅难写而且重新读入数组时,可能不能覆盖掉之前的数据
有帮助的话可以点个赞,我会很开心的~