弱智吧精选

  • 2023.10.1:从 S 开始跑 Tarjan,用 low[T]>dfn[S] 判断 T 和 S 是否在同一个点双内
  • 2023.10.2:求点双弹栈时一直弹到 st.top()!=u 为止
  • 2023.10.2:设 \(f(i,j)\) 为从 \(i\) 开始且蓝量为 \(j\) 时到终点的期望代价,在无限回蓝的关卡当 \(j\) 不为 \(\max\) 时令 \(f(i,j)=+\infty\)为了进这个关,首先要先回满蓝
  • 2023.10.5:\(n\) 个物品,体积范围为 \(V\) 的背包,用贪心然后调整的结论,但是背包值域只开到 \(nV\) 而不是 \(V^2\)
  • 2023.10.5:使用 qpow(n,n-2),在 \(n=1\) 的时候暴毙
  • 2023.10.7:将所有点按 dfn 排序,但是遍历的时候用了两种不同的遍历方式,导致新的遍历顺序与之前求出的 dfn 序不符
  • 2023.10.17:\(10^6\)__gnu_pbds::priority_queue<int,__gnu_pbds::thin_heap_tag> 会炸空间,警钟长鸣!
  • 2023.10.30:建出来的区间树/笛卡尔树默认它的根是 1,可它并不是(
  • 2023.10.31:之前写的错误的 dp 式子判了下溢,但是后来改了式子,却没有更新下溢的判断,导致越界本地还测不出来/cf/cf/cf
  • 2023.11.1:若干个正方体的交是一个长方体,但这个长方体中不一定有某个正方体的一个角(为什么会有呢?)
  • 2023.11.2:FHQ Treap 在 merge 的时候只 pushdown\(u\) 而没有 pushdown \(v\)……
  • 2023.11.5:跑有负边权费用流的时候采用经典建超源超汇的方法,导致原本图中很小的流量变得很大,遂卒。解决方式:由于图中没有负环,故跑一遍 SPFA 或(对于 DAG)手动求出初始的势能数组
  • 2023.11.5:原始对偶最后算贡献的时候用的是 h[T] 而不是 h[S]-h[T],然后由于存在超源超汇跑了两遍,第二遍 h[S]!=0,遂卒
  • 2023.11.10:不要忘了有 bitset!!!卡了约 30min 想优化做法,到最后发现只是少了一个 bitset
  • 2023.11.14:判图上一条边是否是 dfs 树的树边使用 fa[v]==u,但是图有重边……这可拍不出来啊……
  • 2023.11.14: for(int i=1;i<=x;i++) res^=x>>(__builtin_ctz(x)+1); 怎么如今还会犯这种错误啊………………
  • 2023.11.16:(回顾)树状数组上二分的时候没判 u+v<=n 导致下一步跳的区间超出 \(n\),遂卒
  • 2023.12.15:请注意已经被 eraseiterator 是不能被 copy 的,所以 priority_queue<pair<ll,list<int>::iterator>> 这样的东西需要一直保证里面所有的 iterator 都是有效的!
  • 2023.12.18:线段树上颜色段均摊,但是线段树上二分的时候不是判断 \(s\) 是否大于当前整个节点的和,而是判断 \(s\) 是否大于左儿子的和,导致一段颜色被分成 log 段之后,每段又递归下去了 log 次…… 拜谢 \(A\color{red}{FewSuns}\)!!!
  • 2024.1.4:if(l/B!=O.l/B) return l/B<O.l/B; else return (r/B<O.r/B)^((l/B)&1); 导致若干询问被吞噬……
  • 2024.1.13:同余最短路的扫一遍不是 Rev(i,n-1,0)!是对每个子环分别扫一遍!这是不一样的!
  • 2024.1.22:ll s[N][N]; inline int Sum(int i,int l,int r) { return s[i][r]-s[i][l-1]; }
  • 2024.1.24:开了 pii<int,ll>,但是!第一维才是权值!第二维才是点的标号!
  • 2024.2.10:大年初一把 Top Tree 的二分 Mid 写成了 (L->fi+R->fi)/2 而不是 (L->fi+prev(R)->fi)/2,喜提访问 end 而不自知
  • 2024.2.18:魔改了输出样例答案的方式导致无论如何答案与 .ans 不同。发现自己昨晚就过了这题。警钟长鸣。
  • 2024.2.20:按照 \(a_i\) 排序,点 \(i\) 的 dp 值依赖于所有大于\(a_i\) 的那些点的 dp 值,此时记得按照坐标排序!!1
  • 2024.2.20:每日点分治忘了写 !ban[v]
  • 2024.3.11:TopTree,但是没有执行 siz[u]+=siz[v]。(这个可不能错啊老弟,拍不出来的啊)
  • 2024.3.15:\(n\le 2\times 10^5\),数组值域 \(\le 2\times 10^5\),但这并不说明数组值域 \(\le n\) /kx
  • 2024.3.15:单点改,维护每种颜色的出现区间,采取删去 a[x] \(\rightarrow\) 删去 y \(\rightarrow\) 加入 a[x] \(\rightarrow\) 加入 y,但是 a[x]==y……
  • 2024.3.20:\(O(m\log n)\)\(m=10^4,n=10^5\),但是主席树出现了 \(10^7\) 个节点……
  • 2024.3.24:\(n\le 10^5,Q\le 3\times 10^5\),一开始没离线询问,后来离线了却没把数组开大
  • 2024.3.25:如果是叶子节点则 return,但是没往线段树里面把自己插进去
  • 2024.3.25:线段树上二分,但是 l==r 的时候不返回
  • 2024.3.26:动态开点线段树没有在所有地方使用 newnode() 新建节点,导致节点数爆掉还没发现
  • 2024.3.29:col[q[i]]^=col[u]^col[v] 但是 q[i] 中含有 u 导致暴毙
  • 2024.4.16:行列式进行各种推导的过程中没乘 -1
  • 2024.4.17:点分树的深度不是 \(\lfloor \log n\rfloor\) 的,而是 \(\lceil\log n\rceil\) 的,所以 \(2^{dep_u}\) 要开 2 倍 \(n\) 的空间!
  • 2024.4.22:modify 函数中没写 %mod(因为累加的时候这里向来不 %mod
  • 2024.4.22:写分块数组的时候 x/B*B+B-1 炸出 n 的范围导致越界
  • 2024.5.5:树上倍增优化建图的时候在最后只对 fa[0][x] 连边而没有对 xy 连边,导致漏连(id[i][x] 表示 \(x\) 往上 \(2^i\) 级祖先的那些点)
  • 2024.5.14:调用 O[u]=new Node 的时候写成了 O[u]=new Node(),导致 Node 的成员没有被正确初始化。(根据 EK 的建议,应该 new 只负责分配内存,初始化由构造函数做)
  • 2024.5.14:想在 update() 里面更新儿子的 fa,但是没更新。
  • 2024.5.14:在 update() 里面更新儿子的 fa,但是没有让自己的 fa 变成 0,导致出现幽灵父亲。
  • 2024.5.14:rt=merge(cut(1),rt),但是 cut(1) 修改了 rt。(怎么这都没发现?!)
  • 2024.5.17:SAM 在第一次 if(!p) 判断时把 fa 赋为 0 而不是 1
  • 2024.5.17:写 dij 费用流的时候把 cur[u]=edge[u].begin() 写在了 dij() 里面而不是 bfs() 里面
  • 2024.5.17:在判断一条边是否为最短路树上的边的时候,使用 dis[v]!=...+dis[u] 而不是 h[v]!=h[u]+cst[e],注意此时 h[u] 是已经更新过的!
  • 2024.5.21:template<class T> write(__int128_t x),不会被匹配,然后以 char 打印了 x
  • 2024.5.21:string("abc").find('d')==true
  • 2024.5.30:zkw 线段树的 \(2^k\) 要开到 \(\ge n+2\)
  • 2024.6.9:用线段树记录所有有效节点,但是在线段树上二分的时候使用 L[l],R[r] 而不是 L[k],R[k] 来判断边界。
  • 2024.6.17:is_integral<__int128_t>=false
  • 2024.7.10:zkw 线段树写了 while(n+2<nn) n<<=1; 而不是 while(n<nn+2) n<<=1。后者是对的。
  • 2024.7.11:线段树维护矩乘,但是乘的顺序写反了。
posted @ 2023-10-02 08:41  CharlieVinnie  阅读(132)  评论(0编辑  收藏  举报