最近因为联赛的临近,考试也都由在线赛变成了离线赛。
由于离线赛考的太少,导致出了一些不必要的错误。
先来总结一下一些细节错误。
- 邻接表的边数组没有开两倍。
- 没看清数据导致数组开小.
- 高精度的数组开小。
- 广搜少搜了一个方向。
- 调试代码没关。
对于这些错误,都不是对拍能很好拍出来的,但只要稍微检查一下就可以看出来。
总结:
考试还剩十分钟时仔细检查!!!
对于调试还有一个办法,就是利用(cerr),用法和(cout)相同。
这个函数只会在运行时的黑框中显示,也就是说,如果你忘了关掉也没事,只是耗时会增加好多。
接下来是一些在(windows)环境下的(CE)错误。
(CE)是非常可怕的,这会导致我们的分数大幅度下降,所以我们一定要避免这种情况出现。
- 重载运算符时没加(cosnt)或&。
2.** 函数加(inline)没加返回类型。** - 变量名和系统函数名相冲突。
总结:
对于这些情况一定要仔细看,否则凉凉。
接下来就是一些其他的问题了。
比如内存超限的问题也很关键。
对于不会计算的同学可以利用以下办法:
#include<bits/stdc++.h>
using namespace std;
bool Mop1;
int n,m;// 把要开的东西放在两个bool里面。
bool Mop2
int main(){
printf("M=%lfmb",(&Mo2p-&Mop1)/1024.0/1024.0);
}
输出来看一下就行了。
还有就是一定要对拍
他可以避免很多低级错误。
考离线赛时,一定要注意切分。
切分代码可以放在结构体里,或(namespcae)里,可以防止变量名相同。
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct T170{
inline void solve(){
//代码....
}
}P70;
struct T1100{
inline void solve(){
//代码...
}
}P100;
int main(){
cin>>n;
if(n<10)P70.solve();
else P100.solve();
}
对于不同的数据范围打不同的代码。
这样可以防止正解敲挂,保住一定的分数。
对于一道题,不要马上去敲一定要先想好了再敲。
想的越多,打的越少。