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]整个区间递归,而非分成左右两个子区间

  • 相关阅读:
    学Linux从编译命令开始——arm-linux-gcc常用参数讲解
    暑假计划
    汇编语言
    “&”详解
    密码和密钥的区别
    有关动态库找不到的问题解决方案
    gdb调试基本命令(常用)
    Makefile相关知识
    有关宏定义的bug
    Linux安装时内存如何分区的相关问题
  • 原文地址:https://www.cnblogs.com/ninedream/p/12863539.html
Copyright © 2011-2022 走看看