![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
滑稽大佬
这个作者很懒,什么都没留下…
展开
-
校内测 11.27 T4 中位数之中位数【树状数组】【二分】
我好弱原创 2020-11-27 21:06:39 · 159 阅读 · 0 评论 -
YbtOJ NOIP2020 模拟赛 B 组 Day7 B. 书籍分配【树状数组】
数据结构真好原创 2020-11-02 19:56:17 · 119 阅读 · 0 评论 -
JZOJ 6801. NOIP2020.9.19模拟patrick【树状数组】
终于会做点数据结构了原创 2020-10-16 21:16:20 · 124 阅读 · 0 评论 -
YbtOJ NOIP2020 模拟赛 B 组 Day4 D. 筹备计划【线段树】【树状数组】
又是大数据结构,giao原创 2020-10-12 20:25:32 · 197 阅读 · 0 评论 -
JZOJ 2908.矩阵乘法【整体二分】【树状数组】
为什么大爷们都会这些奇奇怪怪的算法原创 2019-08-23 21:25:34 · 133 阅读 · 0 评论 -
SSLOJ 1209.奇怪的队列
玄学之门题目:分析:首先是60 points的做法:AC做法:代码:60 points:AC:题目:传送门分析:首先是60 points的做法:因为我们需要的是字典序最小的,故我们只用取其较前的位置就好了,因为题目已经给出我们tatata记住的人数(xxx),所以我们可以通过按大到小排序,那么xxx所指的,就一定是我们之前已经确认了位置的,为了满足当前的xxx,我们可以通过swaps...原创 2018-10-20 16:11:42 · 155 阅读 · 0 评论 -
SSLOJ 1195.健美猫
玄学之门题目:分析:代码:题目:传送门分析:看到旋转操作,小编一开始想到的是最小表示法,然后开始愉快的码题,起初还算顺利,但很快就遇到了硬茬——绝对值!我们先设xxx为题目中的sss序列∣x1−1∣+∣x2−2∣+∣x3−3∣……|x_1-1|+|x_2-2|+|x_3-3|……∣x1−1∣+∣x2−2∣+∣x3−3∣……然后经过一次旋转操作后,就变成了∣x1−n∣+∣x...原创 2018-10-18 21:04:44 · 147 阅读 · 0 评论 -
HDU P5542 The Battle of Chibi
目录:题目:分析:代码:题目:传送门分析:f[i][j]f[i][j]f[i][j],表示到第iii个数字,长度为jjj的单调递增子序列的个数。需要注意的是取第jjj个数字。代码:#include<iostream>#include<cstdio>#include<cmath>#inc...原创 2018-08-23 09:33:20 · 126 阅读 · 0 评论 -
CH P4302 Interval GCD
目录:题目:分析:代码:题目:传送门分析:如果是单点修改的话相信大家都会,所以这题的方法也是要转化为单点修改。根据求gcdgcdgcd的辗转相减法,gcd(x,y)=gcd(x,y−x)gcd(x,y)=gcd(x,y−x)gcd(x,y)=gcd(x,y-x),可以推广到多个数,所以可以求原序列差分后的gcdgcdgcd,这样就可以做到单点修改...原创 2018-08-22 10:03:07 · 235 阅读 · 0 评论 -
POJ P2182 Lost Cows
目录:题目:分析:代码:题目:传送门分析:需要用树状数组维护010101序列前缀和,并且查找某个位置的前缀和是kkk,也就是前面有kkk个111 这个可以用二分,是O(log2n)O(log2n)O(log^2n),但是用倍增就是O(logn)O(logn)O(logn) 不得不说树状数组和倍增的相性真的很好,倍增到的节点维护信息与上一级完全...原创 2018-08-22 09:56:30 · 108 阅读 · 0 评论 -
POJ P3468 A Simple Problem with Integers
目录:题目:分析:树状数组:线段树:代码:树状数组:线段树:题目:传送门分析:树状数组:设tree[i]=a[i]−a[i−1]tree[i]=a[i]−a[i−1]tree[i]=a[i]−a[i−1](差分),那么容易得到: tree[1]+tree[2]+…+tree[i]=a[i]tree[1]+tree[2]...原创 2018-08-22 09:51:37 · 124 阅读 · 0 评论 -
TYVJ P1432 楼兰图腾
目录:题目:分析:代码:题目:传送门分析:我们用两次扫描,利用树状数组求出aiaia_i左边有几个比它大的数,右边有几个比它大的数。 然后枚举每个点作为中间点,显然,它能组成的VVV是由左边比它大的个数*右边比它的个数 而∧∧∧也是同理代码:#include<iostream>#include<cstd...原创 2018-08-22 09:42:54 · 197 阅读 · 0 评论 -
JZOJ 3462. 【NOIP2013模拟联考5】休息(rest)
目录:题目:分析:代码:题目:单击查看题目分析:通过归纳可以发现,题目答案的个数为第一次处理序列后的逆序对个数,证明如下: 在处理后会形成若干个小区间,而按题目的要求,每个区间都是严格递增,那么也就是说只有每个小区间的交界处可能存在交换,而交换的时候,因为满足了严格递减,所以也就构成了逆序对,那么我们只需要计算逆序对的数量即可 所以我们可以将模拟...原创 2018-07-19 21:54:11 · 175 阅读 · 0 评论 -
JZOJ 3512. 【NOIP2013模拟11.5A组】游戏节目
目录:题目:分析:代码:题目:单击查看题目分析:分两步处理: 第一步:把问题简单化,假设没有k的限制,设求出来的方案总数是x。 第二步:考虑k的限制,由于k&lt;7,可以穷举n个节目取0个,n个节目取1个,n个节目取2个,n个节目取3个,n个节目取3个,n个节目取4个,n个节目取5个,n个节目取6个,穷举完这几种情况就可以知道哪些方案是合法...原创 2018-07-18 22:13:51 · 152 阅读 · 0 评论 -
POJ 2481 Cows
目录:题意:分析:思路:代码:题意:给出每头奶牛选定吃草的范围,求出比他们强大的其他奶牛的头数分析:这道题,其实和小编做过的POJ 2352 Stars很像,区别在于一个排了序,一个没排序。我们只需要在其基础上排个序即可AC 当然,我们输出还要按原顺序输出,这点还需各位读者注意下的 且可能会有两头奶牛的范围会一样,所以我们要加个判断思路:1...原创 2018-05-12 16:38:29 · 171 阅读 · 0 评论 -
POJ 3321 Apple Tree
目录:题意:分析:代码:题意:给你一颗苹果树,每棵树枝(节点)上都有一个苹果 先给你两个操作 CaCaC a表示a点的苹果去掉或者长出来(如果此时没长出来则去掉,如果此时去掉则长出来) QaQaQ a表示询问这棵树上a以及a的所有子节点的苹果个数分析:这题需要把一个树形结构变换为线性结构,然后使用树状数组动态求和。变换方法为DFS一次这棵树,记录下...原创 2018-05-12 16:22:00 · 166 阅读 · 0 评论 -
POJ 2352 Stars
目录:题目:题意:分析:代码:题目:POJ 2352 Stars 题目题意:给出一堆星星的坐标,求出这些星星的等级,而星星的等级计算公式如下(坐标为(x,y)):只要有一个星星的坐标(x1,y1),x1<=x,y1<=y,那么我们这颗星星(x,y)的等级就+1分析:普通的模拟、暴力是肯定凉了。所以我们要应采用树状数组,而第i颗星...原创 2018-05-10 21:18:02 · 116 阅读 · 0 评论 -
洛谷 P3374【模板】树状数组 1
目录:题意分析代码题意:有两种操作,一种是给某个数进行加法,一种是求在指定区间中每个数的和分析:我们可以使用线段树去做,但这样编写的难度、时间复杂度以及空间复杂度无疑是十分令人头疼的。 所以我们用到了树状数组——请看代码代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algori原创 2018-05-10 16:28:38 · 221 阅读 · 0 评论