1. HDU1166 敌兵布阵 题目链接 题意:单点更新+区间查询(求和)。 树状数组 (218ms) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> usi ...
分类:
其他好文 时间:
2020-11-01 21:18:27
阅读次数:
19
树状数组简单来看就是一个维护前缀和的数据结构,它相当于线段树去掉了所有的右子树,需要查询时,通过信息拼接来达到查询目的,基础应用为 **(单点更新,区间查询)** **(区间更新,单点查值)** (多了个差分) **(区间修改,区间查询)** (通过数学推导得出我们需要维护两个树状数组) 具体内容参 ...
分类:
编程语言 时间:
2020-05-05 23:35:57
阅读次数:
76
A - 敌兵布阵 HDU - 1166 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的 ...
分类:
其他好文 时间:
2020-05-05 00:28:48
阅读次数:
61
概述 这篇文章前半部分主要研究树状数组的 ,后半部分研究 。 前置知识 树状数组的基本知识以及单点更新区间求和,差分的思想。 区间更新,单点求和 分析 回顾一下最简单的树状数组的功能:快速求出一个数列中某个数的前缀和,以及修改一个位置上的数。 现在我们要利用这两个功能实现:快速求出某个数列中某个数的 ...
分类:
编程语言 时间:
2020-03-16 09:54:11
阅读次数:
59
"题目" 题意:找到数组里每个元素的右边有多少个元素小于当前元素 题解:单点更新,区间查询。线段树或者树状数组都可以。注意要离散化 ...
分类:
编程语言 时间:
2020-03-13 20:55:32
阅读次数:
68
有N个人排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。 倒序插入,线段树单点更新,从头到尾输出线段树的状态 #include<cstdio> #include<algorithm> #include<cstring> using nam ...
分类:
其他好文 时间:
2020-02-17 19:51:39
阅读次数:
77
"题目链接" ac代码(注意字符读入前需要注意回车的影响) ...
分类:
编程语言 时间:
2020-02-16 01:39:45
阅读次数:
74
有两种操作,一是给区间内所有的数开根号,二是区间求和。 线段树单点更新,区间求和的模板~ #include<cstdio> #include<algorithm> #include<cmath> using namespace std; const int maxn=1e6+14; struct n ...
分类:
其他好文 时间:
2020-02-14 20:23:34
阅读次数:
63
http://acm.hdu.edu.cn/showproblem.php?pid=1541 题意:二维平面坐标上,给出n个星星的坐标,规定每个星星的左下方向的星星数量为该星星的等级。 统计1-n-1等级的数量。 解法:因为给出顺序的特殊性,可以用树状数组统计各星星的等级。 注意两点:1、该题为多组 ...
分类:
其他好文 时间:
2020-01-28 21:30:23
阅读次数:
69
https://codeforces.com/contest/1288/problem/E 题意:n条信息,刚开始顺序为1-n,m次操作,每一次操作将某条信息置顶,其他信息后移 问每一条信息距离顶部最小距离和最大距离。 解法:扩大区间长度为n+m,利用树状数组进行单点更新和求前缀和,另用一个数组记录 ...
分类:
其他好文 时间:
2020-01-28 17:32:09
阅读次数:
74