zoukankan      html  css  js  c++  java
  • 防错笔记

    防错笔记

    交题前一定检查自己复杂度对不对

    检查 freopen 和 文件名

    注意函数的返回值检查为double或longlong,特别是板子!

    思考一下自己是否判断了所有情况。

    int变量一定不要开成bool!!!!!重点检查vis数组是否用int了。

    整数二分要写(l+r)>>1,负数向下取整。

    实数二分注意/2.0

    想不出来的时候去想dp。

    可持久化01trie

    1.每次新加入节点时更新rt。

    2.记得初始化rt[0],边界插入0。

    3.数组要开 (O(nlog n))

    4.在int范围内不能把树开成32位深度

    后缀自动机SAM

    1.数组开2倍

    2.跳father时记得p=fa[p]。

    后缀数组

    1. 注意求 (rnk) 时,比较的是 (tp[sa[i]],tp[sa[i-1]])(tp[sa[i]+w],tp[sa[i-1]+w]),注意是 (+)
    2. (height) 的时候 (j=sa[rnk[i]-1])(-1)(rnk) 外面,表示上一个排名。
    3. 基数排序的字符集大小是递增的,桶的大小到 (O(N))

    主席树

    1. 数组空间开32倍。

    2. 不要 if(!x) return 0;,这不是线段树合并。

    二分图

    1.最大独立集输出方案:S能到达的且T不能到达的。

    1. 棋盘很大保存直线时,按照两条对角线方向保存。

      ((x,y)) 变为 ((x+y,y))((x-y,y))

    最短路

    1.dij时记得更新vis数组。

    2.每次取出点更新时记得 pop

    3.记得初始化 dis[s]=0

    博弈论

    1.优先考虑sg函数,不要自己yy。

    概率期望

    1.分清楚 最大值的期望期望的最大值

    2.dp转移时注意概率之间是乘积关系还是和的关系。

    即条件概率还是并行的方案。整体限制。

    [P(A|B)=P(A)*P(B) ]

    CF494C:条件是整个区间 (le i+max_u) 那么必须满足每个子区间都 (max_v+jle max_u+i)

    1. 方差等于平方的期望减期望的平方

    树上倍增

    1. 记得先处理倍增信息(mx,dis),再跳father(x=fa[x,i])。
    2. 倍增在边上,则最后只有到父亲的边没有处理。
    3. 倍增在点上,则最后自己和父亲都没有处理。

    约数相关

    1.推式子时注意考虑所有条件限制。

    2.关注整除的条件,根据“每个数都是整数确定范围”。

    3.在不取模做乘除法时,一定先除再乘,防止爆longlong。

    异或

    1.利用区间异或前缀和达到区间整体异或一个数,查询区间异或时,要分奇偶考虑,二维同理

    因为异或两次等于0,只有和当前点奇偶性相同的点在前缀异或时才能够真正的异或上 (x)

    树形dp

    1.子树内的信息在 (lca) 处合并,在合并完两棵子树后把它们看作一棵新的大子树继续与后面合并。

    计数

    1. 处理逆元时一定要处理 (inv_0)
    2. 优先推式子,可以考虑组合意义。

    图的连通性

    1. 缩点时一定分清是 (i) 还是 (scc[i])

    最小割树

    1. 记得初始化点集q。

    1. 默认是大根堆,但使用小于号比大小。

    2. 堆在重载小于号时,把满足条件的返回为 false,因为是大根堆,小于号是反着用的。

    生成函数

    1. 注意第 $$

    树上差分

    1.记得区分点差分还是边差分。

  • 相关阅读:
    hdu 1255 矩形覆盖面积(面积交)
    hdu 3642 覆盖3次以上体积
    hdu 3255 体积并
    hdu 3265 矩形剪块面积并
    HDU 3397 区间覆盖,颠倒,合并(好题)
    ACM-线段树扫描线总结
    POJ 3667 线段树区间合并
    数组排序----Demo
    Spring MVC配置详解(3)
    生产者消费者模式--
  • 原文地址:https://www.cnblogs.com/Alansp/p/13960039.html
Copyright © 2011-2022 走看看