memset会显著增加时间和空间的消耗吗

刷OJ时,发现差不多的代码,室友的内存大约是我的一半。
经过详细的比对,发现问题出现在memset函数上面。

const int maxx=1010;
int a[maxx][maxx];
memset(a,0,sizeof(a));

结果如图
这里写图片描述

如果手写循环进行初始化的话:

const int maxx=1010;
int a[maxx][maxx];
for(int i=0;i<maxx;i++)
    for(int j=0;j<maxx;j++)
        a[i][j]=0;

这里写图片描述
(上面代码经过原代码的改写,但不会对测评结果有显著影响)

之前也遇到过由于用了memset而TLE的问题,现在看起来是真的存在这种问题。
百度了一下,看了好多人的博客,众说纷纭, 真相有待我进一步测试。

posted on 2015-06-19 02:15  windrises  阅读(1183)  评论(3编辑  收藏  举报

导航