参加算法比赛必背函数及注意事项
函数
- 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的
- 读入多维数组时,最好一行行当作字符串读,而不是一个个字符读。后者不仅难写而且重新读入数组时,可能不能覆盖掉之前的数据
有帮助的话可以点个赞,我会很开心的~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?