首页 > TAG信息列表 > P2617
P2617 Dynamic Rankings
原题链接 考察:主席树+树状数组 实际是动态主席树的模板题,反正本蒟蒻不会(. 思路: 主席树实际是有n个根结点的线段树,如果我们修改第i棵主席树的值,后面i~n棵树都需要修改,时间复杂度最坏是\(O(n*m)\)级别的,但是主席树求区间第k小,实际就是求前缀和,而操作又涉及单点修改,这P2617 Dynamic Rankings 动态主席树 (支持插入后再更新)
思路: 只看询问操作的话,就是很普通的主席树,但是这道题目里还增加了一个修改操作,这在以前的主席树题目中是没有的,即是是所谓的区间修改,那也是先处理好修改操作在进行查询,而不会在查询中夹着修改。 所以这道题我们需要另一种方法来解决。 假如我们在P2617 Dynamic Rankings【树状数组套主席树】
题意: 给定一个含有 \(n\) 个数的序列 \(a_1,a_2 \dots a_n\),需要支持两种操作: Q l r k :表示查询下标在区间 \([l,r]\) 中的第 \(k\) 小的数; C x y :表示将 \(a_x\) 改成 \(y\); \(1\le n,m \le 10^5,1 \le l \le r \le n,1 \le k \le r-l+1,1\le x \le n,0 \le a_i,y \le 10^9\) 分P2617 Dynamic Rankings
题目链接:https://www.luogu.org/problem/P2617 题目描述 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面P2617 Dynamic Rankings(待修改区间第k大)
题目链接:https://www.luogu.org/problemnew/show/P2617 题目: 题目描述 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a【洛谷P2617】Dynamic Rankings
题目大意:维护带修改区间 K 小值。 题解:学习到了树状数组套主席树。 主席树,即:可持久化权值线段树,支持维护静态区间的 K 小值问题,其核心思想是维护 N 棵权值线段树,每个线段树维护的是序列 [1,i] 的权值,并根据可持久化思想使得空间复杂度维持在 \(O(nlogn)\)。 树状数组套主席树,即:带修