树状数组(hdu-4325,hdu-1166,pat-1057)

Posted 2018zxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树状数组(hdu-4325,hdu-1166,pat-1057)相关的知识,希望对你有一定的参考价值。

1、hdu-4325

题意:插花,要么给出插花的范围,要么查询某个点的花的个数。

思路:通过更新,每次更新区间S到T的数值,表插入花(这一点一开始没想到),

要么查询某个点的花的数目。

(与以往单纯的区间查询和单点修改的区间和不太相同)。

 

2、hdu-1166

典型的单点查找,区间求和的问题。(套模板就行)

 

3、pat-1057(甲级)

题意:堆栈有pop和push两种操作,

现在增加一种新的操作,查询中间值。

如果堆栈的大小n使偶数,查询第n/2个最小数。

思路:每次插入或删除时更新区间,就表示标记或去标记(与hdu-4325类似),

找中间值时可以用二分查找,找到标记次数等于k的就行了。

 

以上是关于树状数组(hdu-4325,hdu-1166,pat-1057)的主要内容,如果未能解决你的问题,请参考以下文章

HDU 4325 Flowers(树状数组)

HDU 4325 Flowers(树状数组+离散化)

HDU 4325 离散化+树状数组 或者 不使用树状数组

HDU 1166 敌兵布阵 (树状数组)

HDU 1166 敌兵布阵 数据结构-树状数组-改点查段

HDU1166 树状数组入门