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

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

结果如图
memset会显著增加时间和空间的消耗吗

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

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会显著增加时间和空间的消耗吗
(上面代码经过原代码的改写,但不会对测评结果有显著影响)

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

相关文章:

  • 2021-12-04
  • 2021-09-02
  • 2022-12-23
  • 2021-06-21
  • 2021-05-19
  • 2021-08-02
  • 2022-02-15
  • 2021-11-30
猜你喜欢
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
相关资源
相似解决方案