- 空间开小或开爆
- 求和忘记开\(long~long\)
- 有些只在函数里用的STL就尽量开在函数里,容易忘记清空
- 数字之间异或的时候有可能会超过原本的值域范围
- 需要维护区间和的线段树中,凡是和线段树的点值有关的变量都要开\(long~long\)
- 在离散化的时候,不要把原序列长度和离散化之后的长度搞混
- 在二分的时候,如果当前已经能够确定是否满足条件,就要及时\(return\)
不然鬼晓得会爆成什么鬼样子
- 不要怀疑一些算法的必要性,不要总想着发明一些新的算法
- 注意仙人掌是缩点双,仙人球才是缩边双
- 注意看题要不要判无解
- 注意一定要仔细看清题再打
- \(tarjan\)的\(vis\)标记要打在处理询问之前
- 线段树合并的时候,忘记把\(merge\)函数的返回值赋给\(rt[now]\)
- 不要开一些\(vector\)数量大于元素数量的多维\(vector\)
- 造极限数据的时候不要只生成刚好和极限一样的数据,试了一组极限数据之后要把\(gen\)改成在极限附近波动
- 记住一定要按\(F12\)
- 不要乱开什么容斥期望题
- 考试的时候去做难题的时候一定要先拿稳简单题的分(联赛再次吃亏)
- 方便打\(gen\)和细节多的题一定要拍,查细节错误可以小数据对拍
- 分块的时候不要忘了特殊处理操作在一个块内部的情况
- 有时候开多棵线段树的常数太大,可以把他们合成一颗线段树维护多个值
- 注意输入的序列长度是\(n\)还是\(2 \times n\)
- 注意考试结束之前要检查数据分治是否正确
- 注意循环变量不要重复
- 注意多组数据要检查是否清空
- 一定要注意模数
- 在测试部分分的时候,要把暴力去掉
- 在对\(long~long\)取模的时候,要先模再加再模
- 在使用\(string\)类的时候,要注意操作位置的范围,防止\(MLE\)
- 注意有多组数据测试的时候,数组尽量都清空,不然有可能会出现什么奇奇怪怪的错误
- 注意保证\(\sum\)的题,每次只要清空到当前的范围就可以,不然有可能会T
- 注意小数据是否要特判
- 注意\(floyd\)对于重边要\(chkmin\)
- 一定要注意给的图是有向图还是无向图
- __builtin_ctz最好写成
(x ? __builtin_ctz(x) : 32)
,不然可能会出事
posted @
2018-09-28 16:05
xunzhen
阅读(
284)
评论()
编辑
收藏
举报