参加算法比赛必背函数及注意事项

函数

  • 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的
  • 读入多维数组时,最好一行行当作字符串读,而不是一个个字符读。后者不仅难写而且重新读入数组时,可能不能覆盖掉之前的数据
posted @ 2022-11-08 14:55  穿过雾的阴霾  阅读(73)  评论(0)    收藏  举报