离线赛总结

最近因为联赛的临近,考试也都由在线赛变成了离线赛。

由于离线赛考的太少,导致出了一些不必要的错误。

先来总结一下一些细节错误。

  1. 邻接表的边数组没有开两倍。
  2. 没看清数据导致数组开小.
  3. 高精度的数组开小。
  4. 广搜少搜了一个方向。
  5. 调试代码没关。

对于这些错误,都不是对拍能很好拍出来的,但只要稍微检查一下就可以看出来。

总结:

考试还剩十分钟时仔细检查!!!

对于调试还有一个办法,就是利用\(cerr\),用法和\(cout\)相同。

这个函数只会在运行时的黑框中显示,也就是说,如果你忘了关掉也没事,只是耗时会增加好多。


接下来是一些在\(windows\)环境下的\(CE\)错误。

\(CE\)是非常可怕的,这会导致我们的分数大幅度下降,所以我们一定要避免这种情况出现。

  1. 重载运算符时没加\(cosnt\)或&。
    2.** 函数加\(inline\)没加返回类型。**
  2. 变量名和系统函数名相冲突。

总结:

对于这些情况一定要仔细看,否则凉凉。


接下来就是一些其他的问题了。

比如内存超限的问题也很关键。

对于不会计算的同学可以利用以下办法:

#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();
}

对于不同的数据范围打不同的代码。

这样可以防止正解敲挂,保住一定的分数。

对于一道题,不要马上去敲一定要先想好了再敲

想的越多,打的越少。

posted @ 2019-08-01 14:48  dsjkafdsaf  阅读(278)  评论(1编辑  收藏  举报