考前提醒

1|0置顶:一定要对拍

  1. 不开 long long 见祖宗(还有 __int128)。

不开 long long 见祖宗。

不开 long long 见祖宗。

1<<n, for(int i = 1, x; i <= n; i++)

  1. 多测要清空,清空要把所有影响的全局变量清空

多测要清空

多测要清空

  1. 排序时要把所有有关系的元素丢进结构体里

  2. 如果使用自定义函数进行sort,需保证相等时返回false

  3. 数组一定要开够。如双向边要开两倍,新加辅助点也要开两倍。写完要检查一下。

  4. 不会的题不要忘了拼部分分

  5. 前面的题想不出来可以去想后面的题,难度不一定正序,特别是部分分的性价比。

  6. 注意题目是否要求输出方案的步数。

  7. 过不了样例不一定是结论错了,要检查写挂的地方。

  8. 数据多测时,特判不能直接 return 0;break;,要写 continue;,而且要在读入完数据之后。

  9. 关闭同步流后不能用除了 cincout 以外的输入输出方式。

  10. 看清楚模数。

  11. 使用 memset(a, 0, sizeof(int) * (n + 1)) 时要注意数组的类型和长度。

  12. 思路不要在一个方向上吊死,如你以为的贪心题可能是二分答案。

下面是易写错的地方:

  1. === 分不清,如写并查集的时候。

  2. 平衡树一个点的 sz 要设为 1, pushup 时要 sz 时左右孩子之和加 1

  3. 求 e-DCC 时不用判重边自环,但要判断父节点的反边。求 v-DCC 时要判自环,否则判孤立点时会出问题(似乎可以在判孤立点时判断,但输入时判断更简便),不用判重边和父节点。

  4. 求 v-DCC 时满足 dfnxlowy 时即可输出点双联通分量。求割点时当 x 为根节点时,至少要有 2y 满足条件

  5. 多测时清空 dfn 数组。

  6. 求删去一个点后会多出几个连通块时,答案不是这个点是否时割点,而是这个点被多少个 v-DCC 所包含(再减一)。

  7. 每一次,每一种修改都要写 pushup , 除了建树其他都要写 pushdown(如果有懒标记的话)。(重要!重要!!重要!!!

  8. 空间要开的足够大,特别是可持久化线段树,线段树合并。

  9. 在动态开点线段树中,如果采用的是带引用地址的的写法,记得每当有新建节点的操作时引用变量。

  10. 递归过程中要保持答案区间 [l,r] 不变,不要手滑写成 [l,mid+1][mid+1,r]

if(x <= mid) //do sth; if(y > mid) //do sth;

上面第三行不要写成 else

  1. 四边形不等式不要对中间结果进行任何近似,和最大值取min等影响精确度的操作,不然会违反决策单调性。
  2. 多测时要清空 sa 中的 y 数组。

__EOF__

本文作者louisliang
本文链接https://www.cnblogs.com/louisliang/p/18441326.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   louisliang  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示