警钟
建议检查:
-
区间dp先枚举区间长度
-
按秩合并别合并反了
-
lowbit返回二进制的这个数
-
LCT数组别开小了
-
线段树分治记得撤销并查集而不要干一些奇奇怪怪的事
-
并查集不要直接用两个点查询,记得先find一下
-
区间dp记得判断右端点有没有超出范围
-
多取模! 取模!取模!
-
计算子树大小时先递归再算,是
siz[u]+=siz[v]别写反了 -
长链剖分记得开下标数组
-
vector的resize函数在重新定义空间后是直接将这些空间赋值为0,所以resize后直接push_back会在resize后面的空间存储,应改为赋值 -
虚树里的点是不全的 如果答案涉及全局贡献的统计 要考虑一下是否需要强制根节点入栈
-
非
void函数写记得写返回值 -
对递归函数取max时不要用
#define max(a,b) (a>b?a:b) -
函数内定义的变量注意不要和全局变量重名
-
多测记得清空
-
多测特判要
continue不要return 0; -
线段树递归左右区间注意别判断反了
-
不开
long long见祖宗 全开long long见太奶dill邪教! -
圆方树有两倍点,处理的时候不要只处理圆点
-
建双向边要不然就两次
add,要不然就在add里建两次,不要一起用/fn/fn/fn -
左移和右移不要用混
-
开一个
MAXN的数组其可用下标为1~MAXN-1注意不要越界 -
注意区分仙人掌和点双 两者建圆方树时缩点方式是不一样的
-
模拟赛记得检查提交要求
-
快读记得判断负数
-
注意题面上说的 \(数据存在梯度\) 不要自己把时空限制卡死了 可以多拿点分的
-
区间左右端点不一定满足
l<=r尤其是环形问题 记得swap -
注意输出格式 多答案是SPJ还是按特定顺序输出
-
考虑一下形如
x-1这种东西-1到底会不会出问题 需不需要特判一下数组越界啥的 -
考虑好数组大小啊 n个白点n个黑点开一个n的数组是不是有点唐了啊。
-
注意 \(n\) 和 \(m\) 别写反了 尤其是某些恶毒的题样例全是 \(n=m\) 的时候 记得自己捏几组样例测一下
-
注意 倍长数组 四倍空间 可持久化 等等有没有把空间开够
-
除法记得考虑一下会不会出现除0问题
- 2025.3.15 ABC-E 树的情况直接开始贪了完全没考虑两条链拼起来的情况,浪费巨多时间
- 2025.3.30 一轮省集D1T2 判质数没特判1
- 2025.4.1 没处理好vis标记,导致有些合法的点被判掉了,线下关了暴力分段导致此题近乎保龄
- 2025.4.14 P5021 dfs有公共临时数组,请注意先完成所有的递归再去处理本结点答案,要不然数组在下一层递归就被清干净了
- 2025.4.29 期中#1T4
__builtin_popcount()函数参数类型是unsigned int,long long扔进去会炸,应该使用__builtin_popcountll() - 2025.7.17 link 注意数据范围,注意有些题可能是数据点分治题
- 2025.8.5 注意 \(n\) \(m\) 别写混了。。
- 2025.8.7 状压循环位移记得
unsigned - 2025.11.8 哈希对字符的赋值不要取0,不然无法区分a和aa这种情况!!

浙公网安备 33010602011771号