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

函数

  • 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 @   穿过雾的阴霾  阅读(46)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示