2017/8/23

树状数组和线段树的题目解起来没有想象中来的简单,一个题目往往在知道了题意以后不能很快有思路,需要在纸上进一步件问题转化后才能有所思路。

总结这几天对树状数组和线段树的学习我发现,树这种数据结构在使用起来需要很强的逻辑性,这一点和在学习动态规划时有相同的感受,因为大部分情况都是用数组(或者一维或者二维)来表示树的结构,其意义都是人赋予的逻辑含义,单单就数组本身并没有特定的含义,我们在自己赋予的含义和使用规则下处理数据才让运算能够达到我们的期望。今天下午遇到一道通过数学关系式解决的题目,翻来覆去地一遍又一遍地证明,结果都显示我的答案没有问题,然而和网上题解是算式始终有出入,但是找了很久依然不知道为什么错误。吃完饭决定换一种思路,既然已有的方法是错误的,不直接算区间的值而知算区间和区间的差值,才终于得到了和题解一样的答案,于是我再回去看之前列的算式,步骤变化都没问题,唯一的问题是我忽略了区间以外的数对区间的影响,单纯按照最开始给数组的含义一直往下算,最终的结果肯定是错误的,所以在以后使用树状结构时一定要提前验证自己的逻辑有没有问题,才不至于再犯这种错误。

其次,树状数组和线段树在使用起来并没有很大的变化可言,在解题前做好分析程序还是可以顺利写出来的。

你可能感兴趣的:(2017/8/23)