我在这里 发“CSP” 的温馨提示一贴,有两点有较大争议,故发此贴进行深入讨论,感谢诸位大佬对于文章不严谨出提出批评。
一 memset
我原文中说了,清空二维数组复杂度是 n2 的(默认这么写,第三个参数 90% 的人都是这么填的)
int a[n][n];
memset(a, 0, sizeof(n));
而且要循环清空的条件我也说了,是测试数据组数很多,但是每组数据不大,举个例子,某题 106 组数据,n≤103, ∑n≤106,但是每组数据 n 实际只有 1,而要开 1010 * 1010 的 dp 数组,这样 memset 会TLE。
二 define int long long
我真遇到过玄学错误:
-
MLE(空间开销不止两倍)define int long long VS define ll long long
-
TLE define int long long VS define ll long long
本人水平有限,请大佬赐教,万分感谢。