noi比赛是如何测空间的
  • 板块学术版
  • 楼主konyakest
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/1/31 19:55
  • 上次更新2023/10/24 02:19:51
查看原帖
noi比赛是如何测空间的
482660
konyakest楼主2023/1/31 19:55

据教练说,noi系列比赛静态空间会与数组大小相关,而不是实际访问的空间

比如这段代码:

#include <bits/stdc++.h>
using namespace std;
#define F(i,j,k) for (signed i=signed(j);i<=signed(k);i++)
#define endl '\n'
template<typename T>void ckmax(T& a,T b){a=max(a,b);}
template<typename T>void ckmin(T& a,T b){a=min(a,b);}

#define DEBUG

#ifdef DEBUG
template<typename T>void dbg(const T& t){cerr<<t<<endl;}
template<typename T,typename... Args>void dbg(const T& t,const Args&...r){cerr<<t<<",";dbg(r...);}
#define debug(...) {cerr<<"#"<<__LINE__<<": "<<#__VA_ARGS__<<" = ";dbg(__VA_ARGS__);}
#else
#define debug(...) 
#endif

int a[10000000];

signed main() { 
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    // memset(a,0,sizeof a);
    cin>>a[1]>>a[2];
    cout<<a[1]+a[2]<<endl;
    return 0; 
}

如果按照教练的说法,这段代码的空间为1e7*sizeof(int),与luogu评测 的严重不符(luogu是按照实际使用的空间评测的),与去掉memset前的注释使用的空间相同。

请问这个说法是真的吗

(有没有会用arbiter的,帮忙测一下,本人太蒻不会用)

2023/1/31 19:55
加载中...