@rebirth1120
2019-11-13T11:07:03.000000Z
字数 339
阅读 659
技巧
有时候题目的空间限制较严格, 又需要开较大的数组, 为了防止 MLE 退役, 我们需要计算程序所用的内存, 直接手算太麻烦, 还容易算错, 这里有一种简单的方法可以计算程序的占用内存.
以欧拉路模板为例吧.
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+7;
bool st; //定义变量前定义一个 bool 变量
int n,a[N];
bool en; //定义变量后再定义一个 bool 变量
int main(){
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
printf("%.2lf\n",(&en-&st)/1048576.0); //输出地址之差即可 (单位为 MB)
return 0;
}