今天把树状数组看完了,树状数组可以离线和在线两种方式处理数据,离线的话就是求区间最值或者前缀和,在线就是求逆序对这类问题,线段树看了几道题

以下是今天的题目:

  • HDU 1556 树状数组 以前的树状数组是求前缀和,这次的树状数组是求操作次数,就是把前缀和变成操作次数和,每次操作+1
  • HDU 1394 树状数组求最小逆序数 知道第一次的逆序数用递推的方式就能求出剩下n-2次的逆序数
  • HDU 2838 树状数组 消除逆序,使用插入排序的思想使得花费最小
  • HDU 3450 树状数组+DP+离散化,先将输入的数据离散化集中,然后在小区间内用树状数组处理,选择区间用DP
  • POJ 3067 树状数组求逆序对数,采用结构体排序后然后累加求花费
  • HDU 3743 树状数组或者归并排序,归并排序的复杂度稍微低一点,用树状数组因为有重复的数,,先预处理一下
  • HDU 1166 树状数组模板题
  • UVA1428 先扫描一遍做好标记,然后再用树状数组,在线求前缀,因为下标是从小到大的可以不用先建好数组再求
  • POJ 2352 树状数组 输入是有顺序的不用排序直接在线求就好了
  • POJ 2299 树状数组,因为数据量太大数组存不下先对数据精细 离散化 这道题也可以用归并排序
  • POJ 2299 求逆序数,先排序,数组记录原始下标
  • POJ 2182 求初始位置,我感觉用暴力递推也可以过就是复杂度高一点
  • POJ 2886 线段树 挺难的还加上了求因子个数,然后还是成环,要维护三个值,因子个数可以提前打表
  • HDU 1698 线段树的区间修改模板题
  • POJ 3667 线段树区间覆盖 维护最大连续子区间 就是维护最大子段和 线段树的最基本功能
  •