
树状数组
Top_Spirit
我的指针已经找了他的对象,而我呢?
展开
-
树状数组---区间更新,区间查询
对于区间修改、区间查询这样的简单问题,打一大堆线段树确实是不划算,今天来介绍一下区间查询+区间修改的树状数组【一些基础】树状数组的基本知识不再介绍,请自行百度我们假设sigma(r,i)表示r数组的前i项和,调用一次的复杂度是log2(i)设原数组是a[n],差分数组c[n],c[i]=a[i]-a[i-1],那么明显地a[i]=sigma(c,i),如果想要修改a[i]到a[j]...原创 2018-09-12 19:30:46 · 906 阅读 · 0 评论 -
G. Query on a string (2017乌鲁木齐网络赛)(树状数组)
You have two strings SSS and TTT in all capitals.Now an efficient program is required to maintain a operation and support a query.The operation C i chC~i~chC i ch with given integer iii and capit...原创 2019-02-25 19:47:45 · 241 阅读 · 0 评论 -
计蒜客 青出于蓝胜于蓝 (树状数组 + dfs序)
武当派一共有nn人,门派内nn人按照武功高低进行排名,武功最高的人排名第11,次高的人排名第22,... 武功最低的人排名第nn。现在我们用武功的排名来给每个人标号,除了祖师爷,每个人都有一个师父,每个人可能有多个徒弟。我们知道,武当派人才辈出,连祖师爷的武功都只能排行到pp。也就是说徒弟的武功是可能超过师父的,所谓的青出于蓝胜于蓝。请你帮忙计算每个人的所有子弟(包括徒弟...原创 2019-07-14 17:31:56 · 217 阅读 · 0 评论 -
51 nod 1711 平均数 (二分+树状数组)
LYK有一个长度为n的序列a。他最近在研究平均数。他甚至想知道所有区间的平均数,但是区间数目实在太多了。为了方便起见,你只要告诉他所有区间(n*(n+1)/2个区间)中第k大的平均数就行了。收起输入第一行两个数n,k(1<=n<=100000,1<=k<=n*(n+1)/2)。接下来一行n个数表示LYK的区间(1<=ai<=100...原创 2019-07-14 17:34:10 · 118 阅读 · 0 评论