每天一个唐氏小错误

2025.7.18

  1. 二分,l,r 都是 2e9 级别的,加起来做 mid 的时候爆 long long 了……

2025.7.21

  1. 注意除数不能为 0 的问题

2025.7.22

  1. 注意传入的是值还是位置
  2. int 不能右移 32 位!!!!!!!
  3. 改题时记得搜一下,最后记得把大括号打开看一遍!!!

2025.7.24

  1. 不要在调用的同时修改数组,求你了再写一个 for 循环吧
  2. 注意区分长度点数,同时注意到父亲的一条子链和某儿子的一条子链拼起来长度+1,点数不变

2025.8.6

  1. (虽说是每天,但是一放假就不更了哈哈)不要一边调用 vector 一边加元素!

2025.8.8

  1. 注意到虽然你在做链式前向星的时候遍历时的相对顺序和你加入的顺序时相对不变的,但是它实际上是反过来的
  2. 注意到做图论题的时候应当注意一下图是否连通

2025.8.11

  1. 注意变量类型,尽量不要定义 bool 类型的变量,省不了几个空间,还容易出错
  2. 补充 7.24 1. 注意到有的时候调用是在 for 循环里的,记得更改

2025.8.12

  1. 对于一个完整的线段树来说,如果它维护的是一个序列 1-n 上的信息,请注意 [n,n] 节点的编号不一定是该树的节点数(考虑一棵 3 个点的线段树)

2025.8.16

  1. 注意观察输出格式!!!
  2. 注意当边和点的数量级不同时,一定要仔细看数组开全了没有

2025.8.19

  1. 注意:在你的 dijk 做费用流里距离是 h 不是 dis!!!
  2. 建图注意观察有没有边权!

2025.8.20

  1. 在做网络流的时候请设立变量 pnt!!!我管你 pnt 和 n 一不一样呢,先设变量!
  2. 网络流的建图不止有边啊,还有一些其它的求解过程,不要看着边没问题就不知道查啥了
  3. 注意求最短路,尤其是 floyd 的时候要考虑节点间的可达性
  4. 不说废话,见以下伪代码:
do
{
    if (sth) for (sth) if (sth) {do...};
    else for (sth) if (sth) {do...};
}while(...)

如果没看出来错哪儿了的话那你也唐完了
正确伪代码如下

do
{
    if (sth) {for (sth) if (sth) {do...}};
    else for (sth) if (sth) {do...};
}while(...)

2025.8.21

  1. dinic return 了 inf 而不是 ans……

2025.8.22

  1. 注意到多测是需要清空的……至少要把数组都看一遍啊……

2025.8.26

  1. 需要注意到 sort 默认的是升序排序……

2025.8.27

  1. 注意到对于一条树上路径 \(u\to v\) 进行操作后,我们应当进行两次 pushup,即对 \(u,v\) 各进行一次
  2. 需要注意到模拟费用流中成环是绝对错的(在无负环的前提下)

2025.8.28

  1. 优先队列为空的情况下 pop 会导致奇怪结果(siz 为 -1 之类的),siz 是 unordered 存的,所以会变得非常大

2025.8.28

  1. 如果你针对区间操作并且将区间的两端与题目的有意义范围取了交集,那么注意需要使用区间原长的场合……

2025.9.8

  1. 在求 C 的时候不要将内层循环错误的枚举到 n 了,注意到这样会导致产生负的下标,然后 UB 就由不得你了,更加恐怖的是,这个在本地还测不出来

2025.9.10

  1. 注意到在求树上背包时,g 数组困难会调用到 >siz[x] 的位置,所以清空时必须请到 siz[x]+siz[y],或者干脆使用 memset

2025.9.15

  1. 注意到在树上父子之间的所有点应该使用父下面那个点而不是父点

2025.9.23

  1. 注意到如果你将树上倍增的数组置为 vector,倍增时需要判越界
posted @ 2025-07-18 20:35  hushuyang  阅读(16)  评论(2)    收藏  举报