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

1、hdu-4325

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

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

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

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

2、hdu-1166

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

3、pat-1057(甲级)

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

扫描二维码关注公众号,回复: 4410892 查看本文章

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/2018zxy/p/10084207.html