树状数组
GreyBtfly王宝彤
业精于勤,荒于嬉;行成于思,毁于随
展开
-
前缀和 线段树 树状数组讲解(超详细入门)
博客目录Part one、前缀和 引入问题:现输入长度为n的数列co,再输入q个询问,每个询问都给出两个整数l,r。对于每个询问都要求给出对于数列co在区间[l,r]上的和(假设下标从0开始)。 1. 最直观的方法,就是直接暴力求解,每给出一对l和r,遍历数组co从l到r上所有值并求和。这是初学者最容易想到的方法,但这不是算法爱好者采用的方法,因为它的时间复杂度高达O(...原创 2018-07-27 17:52:03 · 4724 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第五场) F - take —— 期望+树状数组+逆元
博客目录题目链接:https://www.nowcoder.com/acm/contest/143/F (由于题目是付费的,暂时没有可以供大家提交的oj,抱歉)题目来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述Kanade has n boxes , th...原创 2018-08-04 18:36:52 · 323 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场) J - Different Integers 主席树 and 树状数组 一题多解
博客目录原题传送门时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述 Given a sequence of integers a1, a2, ..., an and q pairs of integers (l1, r1), (l2, r2), ..., (lq, rq), ...原创 2018-08-23 16:19:16 · 257 阅读 · 0 评论 -
树链剖分新手正确的入门姿势 附带dfs序介绍 —— 详细证明一下一些结论
part one、dfs序/时间戳dfs序就是按照树的先序遍历的顺序,为每个点记录下进入/最后一次出去这个点的时间。dfs序是维护一个树基本套路之一,有一些基本的用处(蒟蒻我知道的):1.树结构线性化,主要用于确定子树的范围。比如例题:(银牌题)ACM-ICPC 2018 沈阳赛区网络预赛 J - Ka Chang dfs时间戳+树状数组+二分+分块(比较综合的题目)2.树链的...原创 2018-10-03 17:16:49 · 748 阅读 · 0 评论 -
树状数组 区间修改 区间查询 讲解
博客目录废话不多说树状数组区间修改:数列值存在a[]里面,多建立个数组c1[],注意:c1[i]=a[i]-a[i-1]。那么求a[i]的值的时候:a[i]=a[i-1]+c1[i]=a[i-2]+c1[i]+c1[i-1]=…..=c1[1]+c1[2]+…+c1[i]。我们叫c1[]数组为差分数组。这样之后,a[i]就可以用差分数组的区间和来表示。之后我们就不需要原...原创 2018-10-05 16:17:41 · 1003 阅读 · 0 评论 -
(银牌题)ACM-ICPC 2018 沈阳赛区网络预赛 J - Ka Chang dfs时间戳+树状数组+二分+分块
博客目录原题 题目传送门 18.55% 1000ms 131072KGiven a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero point.Then, you need to handle QQ operations. There're two types...原创 2018-09-29 12:54:44 · 884 阅读 · 0 评论