能用结构体就用结构体,特别是队列之类的数据结构;类别相同的变量或数组名字不要太相近,最好在名字后面加上标识符(e.g:hash[]&HASH[]就不好,hash1[]&hash2[]正确)。虽然麻烦一点,但不容易把数组弄混 。

认真读题!样例数据的性质(如从小到大的输入)不代表所有数据的性质,多自己hack几组数据。

模板一定要了然于心,平时没事多打几遍。

看清楚题目在做,务必每个字都要看清楚!其实多花不了多少时间

没有很大把握的题最好在敲代码之前手动模拟道样例数据,防止题意理解错误

一定根据数据范围开数组,太大容易爆内存,太小可能爆掉+玄学地址错误。反之,如果发现无法解释的玄学错误,那多半也是地址的锅

不确定数据是否会爆int的话,最好在调完程序后统一改成long long,并注意scanf和pintf里的%d要改成%lld。但数据类型开的越小,常数也会越小。

对拍很管用!不管是考试还是平时做题,如果自己的程序找不出错来,用标程(暴力)和程序对拍,验证正确性。如果发现有错,那就缩小数据范围到看的过来的量级后继续对拍,在错误的数据里继续手动缩小范围,就能找到错误点。另外,图论也可以对拍!

动手开始敲代码前一定把思路理清,程序的每一个细节(如边界处理、dp方程)最好想清楚了在写(特别是核心代码部分),如果coding中途再去想如何实现就打断了思路,容易出bug;有必要的话建议手写个提纲,写上大致流程、公式、功能等,忘了思路就去看一眼。这种方法非常有效,防入死胡同,提高代码质量,减少调试时间

调试时步步为营,一次只改一个错误点,否则若干错误相互叠加,就分不清了。

平时练题千万不要只在脑中AC就不管了,敲代码是必要的。也许你能想出正解,但敲不敲得出来就是另一回事了

dp的边界条件、循环顺序、起始点设置...一定要想好再写,没把握就写记忆化搜索

递归一定要return!

spfa虽然死了,但是有负权边dij就直接是错的,所以别傻傻的觉得没有负权回路就可以用dij,该spfa时用就是了

INF不要开得太刁钻,比如int的INF给个999999999就差不多了,如果2^31-1一旦溢出就完了

考试时做题一定先易后难,第一份代码一定快准狠打出高质量,否则调试过久会大幅影响心情的!

(我这回tg day2t1一开始看错题意打错代码,全部重来的时候就有点焦躁了,打了1个半小时才开始做t2,间接导致整场考试崩盘)

形如int&的引用可以省常数空间!

左移右移如果涉及到long long一定给常数加上LL,否则直接去世 e.g:1LL<<x

无向图加双边!!!

你需要在各种类型的算法中注意各种初值设置,特别是数据结构题。比如你要求最小值,那就先给所有节点赋INF,就算是最大值也不能掉以轻心,万一有负数那还得赋-INF。有些时候你会需要用到一些不太合法的调用(比如调用0号节点),这时就一定别忘了给0号节点赋初值!

长期更新...

OI考试需注意的的更多相关文章

  1. OI生涯回忆录 2017.9.10~2018.11.11

    然而并没有退役 为了这两天,也准备了一年. 高一零基础的蒟蒻,NOIP2017仅有80pts 之后看着luogu的倒计时, 300天,200天,100天,30天, 直到10天.1天. 10号,11号的 ...

  2. Apsara Clouder基础技能认证:阿里巴巴编码规范 考试备考题库

    考试网址: https://edu.aliyun.com/clouder/exam/intro/33 共50道题 限时90分钟 阿里云大学Apsara Clouder基础技能认证——阿里巴巴编码规范认 ...

  3. 记一周cdqz训练

    #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...

  4. 光环国际的PRINCE2培训时间

    一.光环国际的PRINCE2课程安排培训方式:    小班授课,50人为限;   全国网址直播课程,覆盖各个地区学员    精读原理配合独家开发大量实际案例研讨;    从商业战略角度解析PRINCE ...

  5. 区间DP,数位DP

    dp(动态规划)顾名思义便是动态的一种规划,而这种规划往往会跟状态,状态转移方程,记忆化搜索扯上关系,当然DP也是各个OI考试的必考点和常考点,在毒瘤出题人的折磨下,出现了许许多多的动态规划,有线性, ...

  6. [luogu2286][HNOI2004]宠物收养场【平衡树】

    [传送门] 前言 这一篇题解并不是为了讲什么算法,只是总结一下平衡树在OI考试中的注意事项. 题意简化(给不想看题目的小伙伴们一点福利) 给你两堆数,每一次给你一个数,每一次在另外一堆数中找到这个数的 ...

  7. HEOI2019退役总结

    真的很快,一切就都已经尘埃落定了. 其实经历不是很圆满的时候,是不想写这一类游记总结的,但这次其实不太一样,总要让这段经历有始有终. 可能会很啰嗦…… 赛前 收到了若干鼓励,包括老师的手写祝福和学长学 ...

  8. Day 2 笔记 数据结构

    Day 2 笔记 数据结构 1.栈.队列.链表等数据结构都是线性数据结构 2.树状数据结构:二叉堆,线段树,树状数组,并查集,st表... 优先队列其实与二叉堆的存储方式并不相同. 一.二叉堆 1.二 ...

  9. JZYZOJ1539[haoi2015]T2 树链剖分

    http://172.20.6.3/Problem_Show.asp?id=1539 在学校的OJ又写了一次,RE了好多次,原来haoi的时候这道题需要开栈+快读,裸数据结构30分,加上快读50分.o ...

随机推荐

  1. poj3164 最小树形图板子题

    /* 思路很简单,也不知道哪里错了TAT */ /* N个点通过笛卡尔坐标表示 根节点是1,求最小树形图 */ #include<iostream> #include<cstdio& ...

  2. Pycharm同步本地代码至GitHub

    注册github账号 github地址,进入注册账号 安装git Windows下载地址1 Windows下载地址2 在官方下载完后,双击exe文件进行安装,安装到Windows Explorer i ...

  3. Android Studio 设置编辑器(Editor)的字体、字体大小

    操作系统:Windows 10 x64 IDE:Android Studio 3.2.1 参考:https://www.cnblogs.com/diyishijian/p/6824328.html 备 ...

  4. mysql常见安全加固策略

    原创 2017年01月17日 21:36:50 标签: 数据库 / mysql / 安全加固 5760 常见Mysql配置文件:linux系统下是my.conf,windows环境下是my.ini: ...

  5. C#黎明前的黑暗

    学习编程已经很久了,然而技术还停留在远古时代,丝毫没有什么进步的痕迹,平常也就写一些小软件来处理工作上面遇到的一些很繁杂的问题,天生愚笨或许就是说的我. 黎明前的黑暗期,真的太长了,烂烂的文章就像烂烂 ...

  6. webstorm我用到的快捷键【不断更新】

    alt+insert:新建一个文件或其他 ctrl+shift+l:代码格式化 [可能会和qq的锁屏键冲突] ctrl+shift+r:批量查找替换 多点编辑:按住alt键选择多列,就可以编辑多行了 ...

  7. LeetCode高频148错题记录

    3. Max Points on a Line 共线点个数3种解法 思路一:思考如何确定一条直线,两点法,确定斜率后带入一点.有三种情况,1. 两点重合,2. 斜率不存在,3. 正常算,依次以每个点为 ...

  8. raspberry pi恢复jessie镜像之后

    1.更新源 nano /etc/apt/source.list deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib ...

  9. [转]GitHub for Windows 安装失败,An error occurred attempting to install github 的解决办法

    解决办法: 只需要将 http://github-windows.s3.amazonaws.com/GitHub.application http改为https,然后在IE上打开,安装即可 问题如下 ...

  10. shell常用监控脚本

    1.cpu空闲脚本 top -b -n1 |grep 'Cpu'|awk '{print $5}'|sed 's/%//'|sed 's/id,//' 变量赋值 cpu_id='top -b -n1 ...