题目链接:
http://acm.neu.edu.cn/hustoj/problem.php?id=1552
本题大意是求出每一次模拟一个队列的入队、出队操作之后队列中元素的最大值
要想维护队列元素的最大值,第一个方法是将所有push的元素保存到一个数组中,然后用树状数组维护,
这里要注意每一次pop操作之后要从该元素开始向根节点全部更新。
提交的时候还需要注意数组的越界问题,本人就是因为这个WA了19次之多。。。
代码如下:
第二个方法是小明学长告诉我的,队列中的元素也可以用map维护(和set一样,内部是红黑树,数据量不是特别大的时候可以用)
代码如下:
http://acm.neu.edu.cn/hustoj/problem.php?id=1552
本题大意是求出每一次模拟一个队列的入队、出队操作之后队列中元素的最大值
要想维护队列元素的最大值,第一个方法是将所有push的元素保存到一个数组中,然后用树状数组维护,
这里要注意每一次pop操作之后要从该元素开始向根节点全部更新。
提交的时候还需要注意数组的越界问题,本人就是因为这个WA了19次之多。。。
代码如下:
第二个方法是小明学长告诉我的,队列中的元素也可以用map维护(和set一样,内部是红黑树,数据量不是特别大的时候可以用)
代码如下: