[关闭]
@rebirth1120 2019-11-13T11:07:03.000000Z 字数 339 阅读 628

测量程序占用内存

技巧


有时候题目的空间限制较严格, 又需要开较大的数组, 为了防止 MLE 退役, 我们需要计算程序所用的内存, 直接手算太麻烦, 还容易算错, 这里有一种简单的方法可以计算程序的占用内存.

以欧拉路模板为例吧.

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N=1e7+7;
  4. bool st; //定义变量前定义一个 bool 变量
  5. int n,a[N];
  6. bool en; //定义变量后再定义一个 bool 变量
  7. int main(){
  8. cin>>n;
  9. for(int i=1;i<=n;i++) scanf("%d",&a[i]);
  10. printf("%.2lf\n",(&en-&st)/1048576.0); //输出地址之差即可 (单位为 MB)
  11. return 0;
  12. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注