Noip傻逼错误集合

为了在联赛中不因为傻逼错误而遗憾。

故总结各种错误集合。


1.变量名,每个变量名的含义搞清楚,不要用错。打的时候变量名千万不能打错。

尤其是n,m,x,y这类,搞反了题目给的是正方型还看不出来。。

可以细读一遍程序,或者多设计几组测试数据。


2.变量的范围。有的时候longint是不行的,要开int64.

  有的时候数组开小了会爆,应该两头都开点,尤其是有时a[0]也要开。。。

  要学会自己估计范围。


3.注意特殊的情况的判断。

如非负整数要注意0也是其中之一。

还有其他的特殊情况要特殊输出的,要看题目而行。


4.初始化一定要搞。

尤其是子程序里的变量。不搞初始化就会出来非常奇怪的数字。。。

数组重复使用时应该注意清空。


5.写程序之前应该细致的读题,了解题目让你干什么。

   然后自己设计出算法,并且在纸上简略的写出如何实现。

   再思考程序的正确性,再换其他思维想题目。

   千万不能写了一半发现自己想法是错的然后重写。。


6.去年比赛时的day1 T2...写了一个搜索之后,没有继续深入思考如何优化。

而去想如何用线段树来写这个题目。。。还花了半小时想如何写线段树。。。。。

所以考试的时候不要想,也不要轻易写自己没有学过的东西。

如去年day2 T2..当时二分一次都没有写过,居然还敢写二分。。。于是就0分了。。。

如果当时写了个暴力,那我现在就拿到一等了。


7.如果暴力能拿30+以上的题目,而且暴力很好写,那么先写一个暴力。

在思考多种算法后,选择性价比最高的算法,与暴力算法对一些数据验算。

然后小范围数据用暴力确保30分拿手。


8.比赛时第一题必须全部拿下。后面的题目全部爆搜也要拿下第一题。

如去年day2 T1,当时只写了a=b=1的情况,后来发现稍微多加几行代码就能拿100.

而当时我却没有认真思考。


9.fillchar 不能每次都使用。。如果数据开得特别大。。必然会超时。。。


10.floodfill 要向四个方向。。。


11.能直接求和的就别用数组存前缀和了。。。


12.用前缀和搞东西的时候,不要忘了else后面的内容。

    for i:=1 to n do if ...then s[i]=.....

                            else s[i]=s[i-1]


13.有的图是不联通的,此时bfs,dfs前面都要加一重循环。


14.有的题目实在不会写,考虑特殊情况的数据+暴力也许能搞出一个不错的分数。


15.要相信noip的数据异常弱,往往加上一个小优化就能ac了。


16.多设计几组测试数据,基本上就能完全解决因粗心而产生的错误了。


17.在按f9之前先读一遍程序,将打错的地方都补上。确保每一句话都是正确的。


18.要注意计算时溢出的情况,c:=a*b;a,b 都是 longint,c 是int64

那么返回值会是longint。。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值