挂分指北
不同步地发布于那些奇怪的错误。
【数组越界】
特别奇葩,他可能越界了之后修改了别的变量的值,离谱
【long long
导致 \(\text{MLE}\)】
哎,为高二那位因此省选爆了的 \(\text{dalao}\) 感到悲痛 long long
致 \(\text{MLE}\),直接就爆 \(0\) 了!一定要计算一下内存再交
【STL .size()
返回值】
STL .size()
回的是 unsigned long long
,注意和 int
比较时爆掉,尤其是把负数强转成正数
【数组大括号初始化】
数组用大括号初始化,自动补 \(0\),可能 \(\text{TLE}\),exx。。。然后还可能"代码太长",这应该是编译器的锅,具体是甚么样呢:int C[100000] = {0,1};
好像这么着会爆,反正少这么干就行了,直接 C[1] = 1
不就行了
【\(=?==!\)】
一个老毛病,==
写成 =
。最近莫名又犯了,可能换编辑器的问题
【char
\(\text{and}\) bool
】
读入:\(......\) 读入 \(1\) 或 \(0\),\(......\) 这个时候 opt
就不要设成 char
类型了,否则读入的时候是读入的是 '1'
字符,而不是 \(\text{Ascii_1}\),\(\text{opt}\) 是 bool
似乎可以
【莫队——对询问分块】
莫队不是对询问分块吗,但是有一个问题在于算 belong[]
: belong[i] = (i-1) / blocklen + 1
请注意,除的是 blocklen
,不要手【】写成 Q
。。。还有交上去之前输出一下 belong
看看有没有写挂。对于小数据 belong
不 belong
的没啥事看不出来啥,大数据就 \(...\)
【\(\text{cin}\) 快读】
这玩意已经形成马蜂了,但是注意一件事情!不要用 getchar()
了!我知道这个东西谁都知道,但是!在那种读字符串进来的尤其是不告诉你长度的,很容易就忘了这个!警钟敲烂!!!详见 标题计数(虽然这个题最后改了也没 \(\text{A}\) 但起码有点分啊。。)
【宏定义 \(\text{MAX/MIN}\) 】
看下面这一发信队:
code
#define MAX(x, y) (((x) < (y)) ? (x) : (y))
int XIN_team(int x){
if (x == n+1)
return check();
int rtn(0);
ans[++ ans[0]] = a[x];
rtn = MAX(rtn, XIN_team(x+1));
ans[0] --;
rtn = MAX(rtn, XIN_team(x+1));
return rtn;
}
先不说我非整个返回值干嘛,看到那个宏定义了不?看到那个 MAX(rtn, XIN_team(x+1))
了不?好的你已经成为植树达人了,你猜宏定义展开之后每一个 MAX
语句中的 XIN_team(x+1)
会不会执行两次捏。
人家剪枝你种树捏。
【堆的重载运算符】
重载的都是小于号,但是注意,小根堆要让 \(w\) 最小的在上面应重载为 return A.w > B.w
,大根堆相反。
一定要注意!!!!!
别乱写else if
!!
rt.
2. 注意从0开始还是1开始!!
rt.