- strcut开数组的时候要算有几个域!!
- vis有的时候是bool有的时候是int, 一定要分化清楚.
- 注意数组可能会重定义重复使用, 一定要分开.
- 倍增算lca的时候要注意枚举位不要超过数组上界, 比如开了anc[x][p]第二维就枚举到那么多否则不会re, 而会进入下一维.
- ans开不开longlong一定要注意.
- windows下输出lld会炸… 除非手写auto.
- 注意用值域桶来计数的时候不会访问到负数去, 否则要加一个maxn来变正.
- 如果scc里手写栈并且用s[top+1] != u来判断的话s一定要清空 —— 所以最好老老实实写长点判, 稳.
- 强转longlong要注意后面不要打括号, 否则等于没有强转, 要不然就用1ll*….
- 数据结构题就算自己觉得稳了, 如果暴力好写的话也tm要写对拍保证正确, 不要作死不要作死不要作死啊!!!
- 单调指针移动来扩展/缩短区间的时候的时候要注意是应放在统计答案之前还是答案之后, 想清楚.
- 考试时不确定的算法或者可能不正确的贪心不要立马去写, 先回头对拍求稳, 不要作死不要作死不要作死啊!
- 数组赋初值的时候不要在用的过程中判0来赋, 极有可能0不是没赋值而是有意义的.
- 注意对拍比较输出文件也要耗时间, 不要优化无意义的常数.
- 至少思考过两道题再开始考虑对拍的事情.
- 注意题目里面可能给了好几个限制条件, 不要看漏了, 即使看完了也要在敲题前理一遍以免遗忘部分.
- 想出正解一定要从好几个方向验证, 自己出的样例要各种极端, 然后随机.
- 线段树传标记的时候是+=还是=要分清啊!! 注意赋值和增加标记下放的逻辑关系.
- continue时要考虑清楚有没有什么其他变量是要改变的, 否则下次循环可能会用到错误变量.
- 一定要检查数组每一维是否开够, 否则很容易wa(特别是有memcpy的时候).
- 读入char的时候要注意回车符之类的!! 不然为了保险起见还是读入%s.
- 平衡树之类的向下寻找都要记得pushdown!!
- 异或ans的时候要注意特判答案的时候(比如特判为0)ans也要赋值!!!
想到一点写一点啦.