zoukankan      html  css  js  c++  java
  • 低级错误总结

    前言

      虽说,成大事者不拘小节,但是,细节决定成败!

    数据结构

      1. 树链剖分预处理的dfs1和dfs2函数内部递归不要写成dfs

      2. 线段树加法标记在计算的时候要乘上区间长度:sum(son)=add(p)*(r(son)-l(son)+1)

      3. 树链剖分常规操作函数里面线段树节点从1开始,而不是题给的root

      4. 线段树空间开四倍

      5. 无向图空间开两倍

      6. 不要忘记init()初始化(尤其是前向星的h数组!)

      7. 初始化中有n的需要先读入再初始化!

      8. 树链剖分dfs1中每次循环末尾不要忘记size[p]+=size[to]

      9. 主席树query函数中递归时与k比较大小的并不是mid

      10. unique函数返回的是去重后末尾元素的下一个位置,求元素个数时若下标从1开始则通常减去(数组名+1)

      11. lower_bound返回第一个大于等于x的位置,减去数组名即可

      12. upper_bound返回第一个大于x的位置,减去数组名即可

      13. 常规线段树区间查询和区间修改操作中递归时将[l, r]整个区间递归,而非分成左右两个子区间

  • 相关阅读:
    查找链表中是否有环linked-list-cycle
    reverse-integer
    AVL树之 Java的实现
    single-number
    Best Time to Buy and Sell Stock II
    maximun-depth-of-binary-tree
    minimun-depth-of-binary-tree
    剑指offer--矩阵中的路径
    grep的几个参数
    fsck和badlocks
  • 原文地址:https://www.cnblogs.com/ninedream/p/12863539.html
Copyright © 2011-2022 走看看