树状数组
Uniontake
这个作者很懒,什么都没留下…
展开
-
树状数组入门[例题详解]
一周时间学习了树状数组入门的十道题,特写此贴总结下树状数组树状数组的定义树状数组(Binary Indexed Tree,BIT) 二叉索引树 主要支持两种操作 Add(x,d)操作:让Ax增加d Query(L,R):计算Al+(Al+1)+…+Ar. 且两种操作的时间都是log(n) [ 1 ] 树状数组的本职是单点修改+区间查询 维护前缀和 每次修改向上传数据 然后查询区间的时候也是原创 2017-12-08 22:09:33 · 551 阅读 · 0 评论 -
逆序对
求解逆序对的两种方向 归并排序法归并排序是应用分治的思想实现排序的过程。归并排序是将数列a[l,h]分成两半a[l,mid]和a[mid+1,h]分别进行归并排序,然后再将这两半合并起来。在合并的过程中(设l<=i<=mid,mid+1<=j<=h),当a[i]<=a[j]时,并不产生逆序数;当a[i]>a[j]时,在前半部分中比a[i]大的数都比a[j]大,将a[j]放在a[i]前面的话,逆序数要原创 2017-12-03 21:28:20 · 225 阅读 · 0 评论 -
HDU-1556-Color the ball
树状数组区间修改,单点查询的裸题/** 树状数组区间修改+单点查询(差分数组思想+树状数组) */ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 1e5+10; int c[maxn]; int lowbit(int原创 2017-12-03 21:50:46 · 127 阅读 · 0 评论 -
Codeforces-540E-Infinite Inversions (离散化BIT)
题目链接 Codeforces-540E-Infinite Inversions 题意 给一个无限大的递增序列,n次操作,每次操作一组x,y,代表第x位置的数和第y位置的数进行交换,问最后n次交换后存在多少对逆序对。(n 题解 离散化树状数组 x,y很大,但n很小可以通过离散化的形式来使用树状数组求逆序对。 注意到交换后两数之间未操作数也会影响到最终逆序对的个数。于是对于每一原创 2018-02-06 23:43:36 · 227 阅读 · 0 评论 -
HDU - 1166 A - 敌兵布阵 单点更新+区间查询
题意:如题线段树#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5+10; ll arr[maxn]; char str[maxn]; /// Pushup 函数更新节点信息,这里是求和 struct SegTree { ll sum[maxn<&l...原创 2018-05-15 16:33:05 · 130 阅读 · 0 评论 -
Wannafly挑战赛15 D 数字串 区间逆序对
题目描述 一个只含数字的字符串,q次操作,每次操作将第i位数字改为x,每次操作后,统计长度在[l, r]之间且首数字大于尾数字的子串的个数。输入描述:第一行一个只含数字的字符串; 第二行3个整数q, l, r; 接下来q行,每行两个整数i, x。输出描述:输出q行,每行一个整数,表示长度在[l, r]之间且首数字大于尾数字的子串的个数。示例1输入585605 2 2 4 1 6 4 2输出7 8备...原创 2018-05-16 13:16:58 · 378 阅读 · 0 评论 -
牛客暑期ACM多校第一场 J Different Integers 离线树状数组,区间不同数
Link J Different Integers 题意 给出n个元素的数组,和q次查询,每次查询输入l,r。查询[1,l]和[r,n]两个区间的不同数的个数。 题解 1) 由于我们知道求单个闭区间的不同数个数是很好求的参考SPOJ - DQUERY D-query 那么我们只需要将n的元素的数组往后复制一份,那么就变成了上面的题目了。 #include<bits/stdc...原创 2018-07-24 10:32:48 · 207 阅读 · 0 评论 -
SPOJ - DQUERY D-query 离线查询区间不同数个数 离线+树状数组
DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j...原创 2018-07-19 22:09:49 · 203 阅读 · 0 评论 -
Gym - 101572G Galactic Collegiate Programming Contest 树状数组|优先队列
Description 现在有n个队伍,每个队伍的有两个值(a,b):分别表示通过的题目和罚时。现在有n个队伍,每个队伍的有两个值(a,b):分别表示通过的题目和罚时。现在有n个队伍,每个队伍的有两个值(a,b):分别表示通过的题目和罚时。 题目越多,排名越靠前,如果题目数相同则b罚时越少的队伍越靠前。题目越多,排名越靠前,如果题目数相同则b罚时越少的队伍越靠前。题目越多,排名越靠前,如果题目...原创 2018-08-31 15:49:26 · 192 阅读 · 0 评论