
线段树和树状数组
嘴角上扬*
渴求力量的家伙毫无疑问地都在追求着战斗!-更木剑八
展开
-
AcWing 1270. 数列区间最大值
代码#include<iostream>#include<algorithm>#include<climits>using namespace std;const int N = 100010;int w[N];struct node{ int l, r; int maxx;}tree[4 * N];int n, m;void build_tree(int node, int l, int r){ if(l ==原创 2022-01-30 00:35:22 · 785 阅读 · 0 评论 -
A Simple Problem with Integers
Ac代码#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxl=100010;typedef long long ll;ll b[maxl],c[maxl];ll sum[maxl];int a[maxl];int n,m;int lowbit(int x){ return x&(-x);}void..原创 2021-11-28 19:42:08 · 199 阅读 · 0 评论 -
Turing Tree
题目题目意思为让求在有n个元素的数列中,取从第i个到第j个数之间,所有不同的数字的和,比如说 1 1 3 他们三个元素的和就是4,而不是5思路采用树状数组模板,以及用map记录其是否出现过,首先用一个普通的数组通入这一连串的数字,然后再对区间求和的过程中,如果没统计过,就直接在j那个位置上执行,add(j,a[j]),并且map记录a[j]的位置是j,这样如果一旦再出现,就先将其前面那个j位置出的a[j]减去,然后再在现在位置加上,最后用数组数组求和。Ac代码#include<iostr..原创 2021-11-28 19:38:45 · 464 阅读 · 0 评论 -
敌兵布阵(HDU - 1166 )
题目C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3原创 2021-11-19 08:48:42 · 128 阅读 · 0 评论 -
I Hate It(HDU - 1754 )
样例输入5 61 2 3 4 5Q 1 5U 3 6Q 3 4Q 4 5U 2 9Q 1 5样例输出5659AC代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxx=200005;int s[maxx], mx[maxx<<2];vo.原创 2021-11-18 20:03:34 · 607 阅读 · 0 评论