专栏文章
Notes「兄弟你的笑话好像不怎么好笑」
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimzjgja
- 此快照首次捕获于
- 2025/12/01 18:07 3 个月前
- 此快照最后确认于
- 2025/12/01 18:07 3 个月前
- 变量一定要读入,答案一定要输出。
- 图论题在读入一条边之后一定要调用
add(有些人习惯的可能是addedge)把它加到图里去。 - 定义了一个
dfs函数之后,一定要调用它。
前三个可能会让你绷不住,但是这都是真事。有些人就为此虚空调试了一会。
- 千万不要在
dfs2中调用dfs1。 - 优化一串代码时,照着原来的代码改动,千万不要漏一句话。
- 做 hash 题时,千万不要什么 hash 都直接使用,正确率太低的会炸飞。
- 模数为 时,千万不要定义为 。
- 这是一份可爱的快读代码。
CPP
template <typename _Tp> void read (_Tp& x) { x = 0; char ch = getchar (); while (!isdigit (ch)) { ch = getchar (); } while (isdigit (ch)) { x = (x << 3) + (x << 1) + (ch ^ 48); ch = getchar (); } }- 第 2 行千万不要漏掉
&。 - 第 9 行千万不要写成
x = (x << 3) | (x << 1) | (ch ^ 48);。 - 如果输入有负数,千万不要直接使用她。
- 第 2 行千万不要漏掉
- 如果你的代码小数据全过,大数据全挂,千万不要忘了检查数组大小。
- 读入 对 千万不要写成先读入 个 ,再读入 个 。
- 千万不要写成 ,其中 为二元运算符, 改成 也同理。
- 这是一份可爱的 LCA 代码(部分)。
CPP
if (dep[x] < dep[y]) { swap (x, y); } for (int p = __lg (n); p >= 0; p--) { if (dep[fat[p][x]] >= dep[y]) { x = fat[p][x]; } } int l = x; if (x != y) { for (int p = __lg (n); p >= 0; p--) { if (fat[p][x] != fat[p][y]) { x = fat[p][x], y = fat[p][y]; } } l = fat[0][x]; }- 第 5 行不等号方向千万不要反。
- 第 12 行的条件判断千万不要写成
dep[fat[p][x]] != dep[fat[p][y]]。 - 第 4 行和第 11 行的两个
p >= 0千万不要写成p >= 1。 - 一定要保证根的
dep不为 才能使用她。
- 线段树空间千万不要写成
N << 1。 - 设线段树当前节点区间为 ,修改 / 询问区间为 ,则判断终止条件为
l <= L && R <= r,千万不要写成L <= l && r <= R。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...