![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
_xgcxgc
一名热爱看番的OIer,
热爱OI,
热爱二次元,
热爱这个世界。
展开
-
[Zjoi2013]K大数查询 主席树+树状数组
Description有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。Sample Input2 5 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 1 2 1 2 3Sample Output1 ...原创 2018-04-09 20:25:33 · 324 阅读 · 2 评论 -
[Jsoi2014]回文串 Hash+树状数组
Description给定一个字符串,每次询问lll~rrr间有多少个回文串。Sample Inputabaa41 21 31 43 4Sample Output2463考虑每个回文中心做出的贡献,假设它拓展的最长长度为sss,它的位置为p,当前询问为l,rl,rl,r。那么他的贡献就是:min(len,r−p+1,p−l+1)min(len,r-p+1,p-l...原创 2018-12-23 21:40:55 · 222 阅读 · 0 评论 -
Bubble Cup 11 - Finals [Online Mirror, Div. 1] D. Interstellar battle bfs序+树状数组
Description给出一棵树以及树上的点消失的概率Q次修改每次修改一个点消失的概率问每次修改之后当前树剩下的连通块个数的期望Sample Input50.50 0.29 0.49 0.95 0.832 30 33 42 134 0.661 0.690 0.36Sample Output1.680401.484401.61740OZY太强了%%%对...原创 2018-09-23 09:23:04 · 279 阅读 · 0 评论 -
[POI2018]Prawnicy 树状数组
Description给定数轴上n个区间,请选择其中恰好k个区间,使得交集的长度最大。Sample Input6 33 84 122 61 105 911 12Sample Output41 2 4你可以将x坐标排个序,每次找第k大的y值,我用的是树状数组,莫名很慢???可能是我没有快输。#include <cstdio>#include &lt...原创 2018-09-26 21:31:23 · 129 阅读 · 0 评论 -
Helvetic Coding Contest 2018 online mirror C3. Encryption (hard) 树状数组+DP
Description给你一个序列,要你分成k块,每一段的权值定义为这一段的和%P,求权值总和最小。Sample Input4 3 103 4 7 2Sample Output6考虑O(nk)的DP,设f[i][j]为i分成j段。对于当前的s[i],就分两种情况继承,一是小于等于s[i],一是大于等于s[i]的,这个你可以用树状数组加速。。。#include <...原创 2018-10-03 16:09:20 · 151 阅读 · 0 评论 -
[CEOI2018]Global warming 树状数组+乱搞
Descripition 给定n(n<=200,000),你可以将任意a[l]至ar每一个元素加上一个d(-x<=d<=x),求a数组的最大严格上升子序列长度。Sample Input 8 10 7 3 5 12 2 7 3 4Sample Output 5容易发现, 如果要给[l,r]增加一个x,不如直接给[l,n]加一个x。 如果要给[l,..原创 2018-09-17 11:47:50 · 380 阅读 · 0 评论 -
[Sdoi2014]数表 莫比乌斯反演+数论分块+树状数组
Description 有一张n×m的数表,其第 i 行第 j 列(1<=i<=n, 1<=j<=m)的数值为 能同时整除i和j的所有自然数之和。给定a, 计算数表中不大于a的数之和。Sample Input 2 4 4 3 10 10 5Sample Output 20 148先考虑丢掉a的限制 然后转化一下问题,“能同时整除i和j...原创 2018-05-06 17:27:12 · 234 阅读 · 0 评论 -
BZOJ2843: 极地旅行社 LCT 或 LCA+dfs序+树状数组+并查集
Description 你的程序需要处理以下三种命令: 1.”bridge A B”——在A与B之间建立一座大桥(A与B是不同的岛屿)。由于经费限制,这项命令被接受,当且仅当 A与B不联通。若这项命令被接受,你的程序需要输出”yes”,之 后会建造这座大桥。否则,你的程序需要输出”no”。 2.”penguins A X”——根据可靠消息,岛屿A此时的帝企鹅数量变为X。这项命令只是用来提...原创 2018-04-27 15:57:58 · 157 阅读 · 0 评论 -
[Zjoi2006]Book 书架 Splay 或 树状数组
Description 有N本书,给你一些命令, 命令有5种形式: 1. Top S——表示把编号为S的书房在最上面。 2. Bottom S——表示把编号为S的书房在最下面。 3. Insert S T——T∈{-1,0,1},若编号为S的书上面有X本书,则这条命令表示把这本书放回去后它的上面有X+T本书; 4. Ask S——询问编号为S的书的上面目前有多少本书。 5. Query S——...原创 2018-04-27 07:33:28 · 189 阅读 · 0 评论 -
[HEOI2012]采花 树状数组+离线处理
Description 给出n个数,m个询问,每次询问l~r有多少种颜色出现了两次以上。Sample Input 5 3 5 1 2 2 3 1 1 5 1 2 2 2 2 3 3 5Sample Input 2 0 0 1 0这道题跟LCA那个思路有一点像,然后呢再通过HH的项链那道题的做法容易想出。 我们先搞一个last数组,表示这个点的权值上一个出现的位置 我们将原创 2018-04-12 19:23:06 · 190 阅读 · 0 评论 -
[Tjoi2013]最长上升子序列 树状数组+二分
Description 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时最长上升子序列长度是多少?Sample Input 3 0 0 2Sample Output 1 1 2这道题首先我们的思路是求出每个数放的位置,这个过程是可以二分的。 然后再考虑求最长上升子序列,用树状数组维护全局最大值。。。#inc原创 2018-04-17 15:20:33 · 354 阅读 · 0 评论 -
JSOI2016部分题题解
边做边更吧。。。独特的树叶判断两棵树是否相同可以使用树HashHashHash,我用的HashHashHash方式是按照子树大小来HashHashHash。然后你搞一个换根DPDPDP判一下即可。。。#include &amp;amp;amp;amp;lt;map&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;ctime&amp;amp;amp;amp;gt;原创 2019-03-02 19:05:15 · 247 阅读 · 0 评论