OIer常见问题与错误总结
作为一名OIer,无论是一名刚入门的蒟蒻,还是叱诧风云的神犇,相信都会难免去犯一些错误(废话不犯错误岂不是都满分了(ノへ ̄、)。在这里总结了一些OIer常见易犯的错误,与大家共勉。
1.正常错误
可能在我们平时的刷题与比赛的考试中,最常犯同时又犯得最多的就是这类错误了。主要分为以下几类:
- Wrong Answer(WA) 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)
- Time Exceeded(TLE) 不通过:程序运行时间超过了题目限制
- Memory Exceeded(MLE) 不通过:程序运行内存空间超过了题目限制
- Runtime Error 不通过(RE):程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)
- Compile Error 不通过(CE):编译失败
对于这些错误呢,最好的解决办法其实就是多刷题,多积累经验,尽量地去克服。(其实就是没有什么解决办法了嘛)
2.低级错误
这些错误就不一样了。这类错误可能会是考试失利的最最最最主要原因。只要充分了解并刻意地去避免,是可以将这类错误的危害降到最低的。我主要总结出了以下几点:
- 文件名写错:可能有很多同学再打freopen的时候都喜欢复制粘贴,但粘到最后却忘改“in”与“out”,造成评测时满篇子CE。例如:
freopen("tt.in","r",stdin);
freopen("tt.out","w",stdin);
- 文件操作忘了删注释:这个很好理解,调程序的时候注释掉了文件操作,最后却忘把注释删掉。
- 调用特定考试不允许的变量名称:一般考试都会有特殊说明,注意一下即可,本人就被此坑过。
- 输出格式问题:注意题中的描述,样例中间有没有空格,末尾有没有空格之类的。
- 代码忘保存:也不算是一个错误,但一定要注意。推荐使用一个带自动保存功能的文本编辑器,用cmd编译。如果用普通IDE的话一定要及时存到U盘里一份备份。
3.学术性错误:
听起来挺高端的,实际上只要你足够细心,很多也是可以避免的。
- 数组越界:这个不多说,别跟我说你没犯过。多数CE都是这种情况( ̄_, ̄ )
- 爆空间:MLE罪魁祸首,一定要算好。
- 爆栈:可能是最难看出来的一种错误了,经常导致CE。如果算不明白的话,多用用非递归形式。(如果都不会的话,拿拿部分分吧)
- 无向图:记得开二倍数组。
- 线段树:开数组之前一定要算好多大,如果不会的话,无脑开4倍吧。(都学线段树了还不会算空间真的是(/▽\))
- 网络流:开多大数组都是有讲究的,不能开小,也不能无脑开大。
- 图论:用spfa等算法的时候注意看有没有负环。
- 数据范围:看好数据范围,防止爆int之类的。
- 时间复杂度:确定自己算法能得多少分,对时间复杂度做好充分的了解。
- 循环:注意边界问题,更不要写反。(因此很多题我都爆过0╥﹏╥...)
- 如果不开全局变量的话,要给变量赋值,否则是随机数。
以上这些便是我在OI的学习中遇到过的部分问题,以后可能随时补充,也同时欢迎大家给我补充,我们共同成长,共同进步!
OIer常见问题与错误总结的更多相关文章
- Goldengate OGG常见问题与错误列表
Goldengate OGG常见问题与错误列表 以下列出了OGG一些常见的问题与错误及其解答: Note: 966211.1 How To Resync A Single Table With ...
- Nginx 常见问题与错误处理
常见问题与错误处理1. 400 bad request 错误的原因和解决办法配置 nginx.conf 相关设置如下.client_header_buffer_size 16k;large_clien ...
- mybatis常见问题和错误
1. jdbc java type 映射关系 1) mysql的text 在mybatis中使用varchar类型 2. mybatis常见的错误 3.There is no getter for p ...
- Nginx中常见问题与错误处理
1.400 bad request错误的原因和解决办法 配置nginx.conf相关设置如下. client_header_buffer_size 16k;large_client_header_bu ...
- docker使用常见问题解决方案:错误号码2058,docker WARNING :IPv4,容器间的通讯
1.错误号码2058 1,错误解决: 解决方法:docker下mysql容器 登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL: ALTER USER 'ro ...
- [备忘][转]rsync使用时的常见问题
sync使用时的常见问题: 错误1: rsync: read error: Connection reset by peer (104) rsync error: error in rsync pro ...
- 在EF中使用MySQL的方法及常见问题
有时需要在网上租用空间或数据库,Mysql成本低一些,所以想将sql server转成mysql…… 注意:在安装Mysql时要选择文字集为utf8,否则将不能使用中文(当前也可以在创建数据库时使用u ...
- rsync常见错误
rsync使用时的常见问题: 错误1: rsync: read error: Connection reset by peer (104) rsync error: error in rsync pr ...
- 圣诞快乐!OIer挂分小技巧
OIer常犯错误 自己的错误 循环里套return 线段树求和 int 定义,下传 int 定义 cmp<,>号分不清 主观行为举动错误 踢电源线,注意安全(_Destiny) TLE 大 ...
随机推荐
- 集合set 1
集合只能通过set() 函数进行创建 无序,不重复 每个元素必须是可哈希的,不可变类型(不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 而 ...
- 多进程之multiprocessing模块、守护进程、互斥锁
目录 1. multiprocessing 模块介绍 2. Process类的介绍 3. Process类的使用 4. 守护进程 5. 进程同步(锁) 1. multiprocessing 模块介绍 ...
- 【JS 常用操作】
正则表达式 <script> var str = "(08:30-10:00)"; var patt = /^[(][0-9]{2}:[0-9]{2}-[0-9]{2} ...
- Ajax接收Json数据,调用template模板循环渲染页面的方法
一. 后台接口吐出JSON数据 后台php接口中,需要写三个部分: 1.1 开头header规定数据格式: header("content-type:application/json;cha ...
- 在linux环境中配置solr
第一步:安装linux.jdk.tomcat. 第二步:把solr的压缩包上传到服务器.并解压.我的solr压缩包是解压在/usr/local/solr/包下的 系统默认是没有solr包的需要自己创建 ...
- php 投票系统
1.投票主界面(问题界面) <?php$db = new Mysqli("localhost","root","root"," ...
- 有时间会做系列一(Dice)
题目大意:给n个骰子的每面安排点数,第i个骰子有a[i]面,a[i]和为m,点数范围从1到m,不重复.问怎么安排掷骰子的点数和的期望最大.输出期望和每个骰子的点数(按骰子输入顺序). 思路: EX=x ...
- 5G/NR 帧结构
原文链接:http://www.sharetechnote.com/html/5G/5G_FrameStructure.html 在学术界和3GPP中对帧结构进行了长时间的讨论,现在我们就NR(5G) ...
- Windows 10工程版本泄露全新设计的操作中心圆角样式
早些时候微软错误地向Windows 10所有测试通道推送内部工程版本,该版本构建后尚未经过微软内部测试. 当然本身微软也没准备推送所以该版本里很多新功能未被关闭,而成功升级的用户则可以立即查看这些功能 ...
- PAN3501兼容AS3933-BTST
PAN3501是一颗是15–150kHz频率范围.3通道低频唤醒接收器,3通道低频唤醒接收器,且具备自动天线调谐功能.另外还比AS3933基础功能上增加了多了几个寄存器,大大增加了给使用者的空间,灵活 ...