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 大 ...
随机推荐
- Linux CentOS7 VMware find命令、文件名后缀
一.find命令 Linux系统中的 find 命令在查找文件时非常有用而且方便.它可以根据不同的条件来查找文件,例如权限.拥有者.修改日期/时间.文件大小等等.在这篇文章中,我们将学习如何使用 fi ...
- mui搜索框在ios平台上点击多次才弹出键盘的解决方法
今天使用Hbuilder调试手机端时,发现搜索框在安卓系统下,点击一次就可以弹出键盘 但是在iso下非常的不规律,要点击多次 代码实现如下: <div class="mui-input ...
- 「NOIP2016」愤怒的小鸟
传送门 Luogu 解题思路 首先这个数据范围十分之小啊. 我们考虑预处理出所有可以带来贡献的抛物线 三点确定一条抛物线都会噻 然后把每条抛物线可以覆盖的点状压起来,然后状压DP随便转移就好了. 有一 ...
- 有关《查找两个List中的不同元素》的问题解答与编程实践
郑海波 2013-07-08 问题: 有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样查找两个集合中不同的元素呢? ...
- fiddler抓取URL之过滤设置
Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 只要是开启了fiddler,我们的 ...
- SQL*Loader-128: SQL*Loader-523
错误原因: SQL*Loader-128: unable to begin a sessionORA-01017: invalid username/password; logon denied 解决 ...
- systemctl常规应用
以samba为例——常用项 #systemctl start smb ——在smb服务没有启动的情况下启动这项服务. #systemctl restart smb ——在修该过相应的配 ...
- Day7 - K - Biorhythms POJ - 1006
Some people believe that there are three cycles in a person's life that start the day he or she is b ...
- Java小项目之:教你做个聊天系统!
Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...
- Java中null的判断
Java中空指针的异常十分常见 if (name != null && !name.equals("")) { //do something } 或者 if (!& ...