题目链接:https://www.luogu.com.cn/problem/P3608 方法一 用树状数组求逆序对先后扫两遍,一次从前往后,一次从后往前,算出每头奶牛左右两边比她高的数量。 最后统计一下。 #include <bits/stdc++.h> using namespace std; i ...
分类:
其他好文 时间:
2020-06-25 11:56:09
阅读次数:
47
树状数组是一类存储后缀和,更新后缀和,通过lowbit来限定后缀和的长度,利用二进制使得查询、更新的时间复杂度都在$O(logn)$的数据结构,码量十分小,常数优秀 注意:以下下代码部分未经过压力测试,不保证完全正确 单点修改+区间查询 树状数组 1 #include<bits/stdc++.h> ...
分类:
编程语言 时间:
2020-06-24 23:43:14
阅读次数:
73
树状数组 本博客仅贴出树状数组模板 #include <bits/stdc++.h> #define lowbit(x) (x & -x) using namespace std; const int N = 10010; int a[N], n; //a[x] += c void insert(i ...
分类:
编程语言 时间:
2020-06-23 19:27:25
阅读次数:
33
—》2020 年联考 A 卷 DAY1: T1:理清模型后发现数据有序维护起来会非常方便,就想到二叉搜索树。两种战士将合适温度“夹在中间”,就想到二分。正好前几天刚学了平衡树,就用它做了。但是很卡常,可惜没想到树状数组(其实是不会)。考试前一天晚上被蚊子扰醒了4次,早上脑子也是很不好,写这一道题就用 ...
分类:
其他好文 时间:
2020-06-21 19:44:16
阅读次数:
71
漆黑的晚上,九条可怜躺在床上辗转反侧。难以入眠的她想起了若干年前她的一次悲惨的 OI 比赛经历。那是一道基础的树状数组题。
给出一个长度为 $n$ 的数组 $A$,初始值都为 $0$,接下来进行 $m$ 次操作,操作有两种:
- $1\ x$,表示将 $A_x$ 变成 $(A_x + 1)\mo... ...
分类:
编程语言 时间:
2020-06-14 21:00:34
阅读次数:
53
<高手训练例题> 正片开始 电子速度 题目 选取显像管的任意一个平面,一开始平面内有$n$个电子,初始速度分别为$v_i$,定义飘升系数为: \[ \sum_{1\leq i \leq j \leq n} |v_i \times v_j|^2(\times表示叉乘) \] 电子的速度常常会发生变化。 ...
分类:
编程语言 时间:
2020-06-12 14:43:34
阅读次数:
58
<前言> 本次依旧是高手训练专题解析。 但与以往不同的是,这次会附上树状数组基础内容。 本篇为基础内容。 <树状数组> 在此贴出大哥的blog,有更加全面、系统的介绍。 什么是树状数组?怎么用树状数组?树状数组有什么应用? 什么是树状数组? 树状数组 是一种数据结构, 可以在$O(log_2 n ) ...
分类:
编程语言 时间:
2020-06-12 14:38:08
阅读次数:
56
P3372 【模板】线段树 1 要求实现一个数据结构支持区间查询和区间修改 改装后的树状数组 #include<cstdio> using namespace std; #define MAXN 100010 int n,m;long long tree1[MAXN],tree2[MAXN],k,K ...
分类:
编程语言 时间:
2020-06-12 01:00:41
阅读次数:
64
地址:http://poj.org/problem?id=1990 题意: 给出n只,每只两个属性: v,x 每两只的和为:sum=max(v1,v2)*fabs(x1-x2),求所有n*(n-1)/2对的和 解析: 对v值进行从小到大排序,那么对于当前羊的v值,它之前的羊都要乘这个v。 那么对于当 ...
分类:
编程语言 时间:
2020-06-11 00:56:02
阅读次数:
57
地址:http://poj.org/problem?id=3321 题意: 树上有n个位置,初始每个位置都有苹果。以1号为总根 n-1条分叉边 m条询问: Q:id 以id为根的子树有几个苹果 C:id id处如果有苹果,摘掉,否则放上一个苹果。 解析: 假设输入的是这么一棵树: 看数据,肯定要前缀 ...
分类:
编程语言 时间:
2020-06-09 18:13:12
阅读次数:
66