满脸心酸泪的改错本

版权声明:本文为博主原创文章,未经博主允许必须转载。 https://blog.csdn.net/C20181220_xiang_m_y/article/details/53304065

可能有些紊乱,但句句都是血的教训。

    1.循环顺序出错,中间累加和错误。

    2.数组定义小了,题目(迷宫之类的)给的n,m并不是实际真正储存的大小。

    3.if语句判断条件错误或者根本没判断,这是至关重要的一点。

    4.设边界的时候一定要注意,画个草图出个简单数据模拟一下,少一多一都是无尽的懊悔。

    5.<还是<=,整除还是小数,诸多判断的细节问题,一定要把题目抠透,每个条件都罗列出来,保证不重不漏。

    6.freopen.

    7.关心数据范围,很多时候范围会给你正解的类型,让你找到正确的方向,而且空间时间也得注意

    8.让自己保持轻松的心情做题,不急不慢,发挥自己的最高水准,不要总是所谓的发挥失常,那是功夫没到家的表现。

    9.拿到题,思考它的类型,该不该用学过的算法,或者是数学方法,亦或是枚举,正解往往并不超出自己所学,只是自己没有真正的学透罢了,掌握思路与方法是AC的关键,至于实现代码的能力,就要靠刷题来堆砌了。

    10.不要去刷那些看一眼就会的题,没用的,要做就做有意义的事情,一定要有些思维难度,才能起到锻炼的效果

    11.long long是个巨坑啊,有时候数据特猥琐,表面上看起来不会炸int,但是中间的运算过程也可能要炸,一定要注意。输入输出的时候windows系统是"%I64d",(大写的i)但评测环境Linux系统是"%lld",(小写的l),一般如果要交上去测用"%lld",不要弄错了。

    12.0不能作除数,运算除法的时候一定要保证分母变量不为0,想方法规避这个问题,有时候这问题很致命。

    13.尽量让你的程序通俗易懂,一些细节思考清楚,需不需要特殊处理,有时候程序的算法实际上可以避免一些看起来很特殊的数据,让每个if都有价值,如果你的程序需要特殊处理的太多,那么一定不是好的程序,一定要理清程序到每个阶段应该干什么事,到哪里要处理,怎样处理最简单,最正确,思考完备再动手。

    14.高精度运算在位数较多时容易超时,可以考虑压位处理(详情请见高精度开平方

(持续连载中......)

猜你喜欢

转载自blog.csdn.net/C20181220_xiang_m_y/article/details/53304065