作为一名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常见问题与错误总结的更多相关文章

  1. Goldengate OGG常见问题与错误列表

     Goldengate OGG常见问题与错误列表  以下列出了OGG一些常见的问题与错误及其解答:   Note: 966211.1 How To Resync A Single Table With ...

  2. Nginx 常见问题与错误处理

    常见问题与错误处理1. 400 bad request 错误的原因和解决办法配置 nginx.conf 相关设置如下.client_header_buffer_size 16k;large_clien ...

  3. mybatis常见问题和错误

    1. jdbc java type 映射关系 1) mysql的text 在mybatis中使用varchar类型 2. mybatis常见的错误 3.There is no getter for p ...

  4. Nginx中常见问题与错误处理

    1.400 bad request错误的原因和解决办法 配置nginx.conf相关设置如下. client_header_buffer_size 16k;large_client_header_bu ...

  5. docker使用常见问题解决方案:错误号码2058,docker WARNING :IPv4,容器间的通讯

    1.错误号码2058 1,错误解决: 解决方法:docker下mysql容器 登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL: ALTER USER 'ro ...

  6. [备忘][转]rsync使用时的常见问题

    sync使用时的常见问题: 错误1: rsync: read error: Connection reset by peer (104) rsync error: error in rsync pro ...

  7. 在EF中使用MySQL的方法及常见问题

    有时需要在网上租用空间或数据库,Mysql成本低一些,所以想将sql server转成mysql…… 注意:在安装Mysql时要选择文字集为utf8,否则将不能使用中文(当前也可以在创建数据库时使用u ...

  8. rsync常见错误

    rsync使用时的常见问题: 错误1: rsync: read error: Connection reset by peer (104) rsync error: error in rsync pr ...

  9. 圣诞快乐!OIer挂分小技巧

    OIer常犯错误 自己的错误 循环里套return 线段树求和 int 定义,下传 int 定义 cmp<,>号分不清 主观行为举动错误 踢电源线,注意安全(_Destiny) TLE 大 ...

随机推荐

  1. mockjs,json-server一起搭建前端通用的数据模拟框架教程

    无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的.本篇文章就是基于此原因而产出的.希望对有这方面的需求的同 ...

  2. B. Shortest Cycle 无向图求最小环

    题意: 给定 n 个点,每个点有一个权值a[i],如果a[u]&a[v] != 0,那么就可以在(u,v)之间连一条边,求最后图的最小环(环由几个点构成) 题解:逻辑运算 & 是二进制 ...

  3. Laradock 开放 workspace 端口

    1.在 laradock/workspace/Dockerfile 文件的最后添加一行,申明开放端口:       EXPOSE 1215;   2.在 laradock/docker-compose ...

  4. java并发之Future与Callable使用

    java并发之Future与Callable使用 这篇文章需要大家知道线程.线程池的知识,尤其是线程池. 有的时候我们要获取线程的执行结果,这个时候就需要用到Callable.Future.Futur ...

  5. Linux centos7 shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号

    一.shell特殊符号.cut命令 *任意字符 [root@davery ~]# ls /tmp/*.txt/tmp/1.txt /tmp/2.txt /tmp/q.txt[root@davery ~ ...

  6. java学习-循环结构-递归练习1-汉诺塔问题

    相传在印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏.该游戏是在一块铜板装置上,有三根杆(编号A.B.C),在A杆自下而上.由大到小按顺序放置64个金盘(如下图).游戏的目标:把A杆上的金盘全部移 ...

  7. 跳蚤[BZOJ4310](后缀数组+二分答案传判定)

    不知道后缀数组的请退回去! 题面: 题目描述 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究.首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他会从S ...

  8. qrcode在手机上不显示的问题

    可以试试以下解决方案: 1.修改qrcode.min.js:里的function n()红线区域替换成这个 , 原因是这样子才能支持安卓机显示.

  9. Sqlserver 基本面试题

    一 单词解释(2分/个) 34分 Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权 REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PR ...

  10. python绑定调用和非绑定调用

    绑定调用和非绑定调用 在python中,绑定调用和非绑定调用其实是相对于类和实例来说的.抽象点说就是:在类实例化过程中,类的方法会绑定在实例之中,此时,这个实例会拥有这个类的具体属性和方法,这些属性和 ...