[ZJU 2112]Dynamic Rankings(树套树)

Status:2166705

2010-04-17 22:53:50Accepted 2112FPC377023856Skyprophet

【题目大意】:

给你一个数列,让你动态的进行操作使之可以实现以下操作:

1、修改一个位置上数的值

2、询问区间(i,j)上第k小的值是多少?

【题目分析】:

这个题就是树套树经典中的经典了。线段树套平衡树可以做,当然为了让程序更快,这道题就应该搞成树状数组套平衡树。树状数组以其常数、方便易写成为这道题的最佳解决方案。

当然,方法其实很简单。树状数组的区间意义并没有改变,只是每个节点上都是一棵平衡树。对于Q来说,二分答案就好。

突然想起来重新写这个问题是因为看到长郡的一套题,原来的树套树测了下巨慢无比~~

所以写了这个东西,下周还会做一些有关习题。尽请关注~

P.s.我正在努力让我有写完一道题写解题报告的习惯…………

【代码】:

P.s. 173行,确实短了不少啊,而且还快了……唉~想想原来的那个200+的树套树就觉得悲剧……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值