树状数组
文章平均质量分 66
h1021456873
这个作者很懒,什么都没留下…
展开
-
HDU 4000 Fruit Ninja (树状数组+组合问题)
找出i 先求出x>y(z)的个数,再求出x>y>z的个数。(small[i]记录当前 1—i-1元素间比a[i]小的个数,high[i]记录当前i+1—n元素比a[i]大的个数),那么x>y>z的个数就为 small[i]*high[i].... small可以用树状数组求出来!!!! 题意:给你一个1到n的排列,让求满足posx 思路:树状数组的题目。首先我们可以得到所有满原创 2015-08-04 16:36:33 · 441 阅读 · 0 评论 -
HDU 1394&& ZOJ 1484 求最小的逆序数 (线段树)
Problem Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i aj. For a given sequence of numbers a1, a2, ..., an, if we mov原创 2015-12-10 19:01:03 · 291 阅读 · 0 评论 -
蓝桥杯 小朋友排队 (树状数组好题)
小朋友排队 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。 请问,要让所有小朋原创 2016-03-19 14:15:52 · 923 阅读 · 2 评论 -
HDU 5592 还原逆序数(树状数组+二分)
问题描述 ZYBZYB有一个排列PP,但他只记得PP中每个前缀区间的逆序对数,现在他要求你还原这个排列. (i,j)(i (i,j)(ij)被称为一对逆序对当且仅当A_i>A_jAi>Aj 输入描述 第一行一个整数TT表示数据组数。 接下来每组数据: 第一行一个正整数NN,描述排列的长度. 第二行NN个正整数A_iAi,描述前缀区间[1,i][1,i]的逆序对数原创 2015-12-07 21:12:59 · 482 阅读 · 0 评论 -
51nod 1107 斜率小于0的连线数量 (树状数组+离线化)
二维平面上N个点之间共有C(n,2)条连线。求这C(n,2)条线中斜率小于0的线的数量。 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y)。例如:(2,3) (3,4) (1,5) (4,6),其中(1,5)同(2,3)(3,4)的连线斜率 Input 第1行:1个数N,N为点的数量(0 <= N <= 50000) 第2 - N + 1行:N个点的坐标原创 2015-12-18 18:05:56 · 856 阅读 · 1 评论 -
51nod 1019 逆序数 (归并|树状数组)
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。 Input 第1行:N,N为序列的长度(n <= 50000) 第2 - N + 1行:序列中的元素(0 Ou原创 2015-10-15 20:46:53 · 754 阅读 · 0 评论 -
zufe 神奇的序列计算 (树状数组)
树状数组维护一下增加的值!!好题啊 Description 小胖是一个数学爱好者,他总是喜欢提出一些奇怪的问题,给出一个长度为N的序列,每次提出l,r(1 a[l]*1+a[l+1]*2+...+a[r]*(r-l+1)的值(序列中数字均大于等于0),其中1 形式如:add X 表示a[x]的值增加1,第二种为query L R 表示询问L,R区间的值,求和方式如上面所描述的(所原创 2015-11-07 00:12:14 · 564 阅读 · 0 评论 -
HDU 2689 Sort it (树状数组)
求逆序数 树状数组求逆序数,原来一直没搞明白,今天看了一遍文章讲的很清楚,下面把有关内容粘过来: 对于小数据,可以直接插入树状数组,对于大数据,则需要离散化,所谓离散化,就是将 100 200 300 400 500 ---> 1 2 3 4 5 这里主要利用树状数组解决计数问题。 首先按顺序把序列a[i]每个数插入到树状数组中,插入的内容是1,表示放了一个数到树状数原创 2015-08-03 19:22:54 · 417 阅读 · 0 评论 -
HDU 1166 敌兵布阵 (树状数组)
Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视原创 2015-08-04 10:37:22 · 403 阅读 · 0 评论 -
HDU KiKi's K-Number (树状数组+二分查找)
题意:给定一个容器,里面存放各种数值,规定三个操作,一个是在容器中增加一个数值,一个是在容器中删掉一个数值,一个是询问容器中比a大的数中第k大的数,将其输出。如果在删除过程中没有这个数,则输出"No Elment!",如果容器中没有比a大的第k个数,则输出"Not Find!". 此题因为是增加和删除元素的值,所以比较容易往树状数组的方向想,用树状数组当容器。采用一个标记数组来标记原创 2015-08-04 12:14:03 · 410 阅读 · 0 评论 -
HDU 5542 n个数中恰好长度为m的单升子序列数 (DP+树状数组优化)
题意】 给你n(1e3)个数,每个数都在[1,1e9]范围。 然后让你保持数的顺序不变,选出长度恰好为m(1 问你有多少种选择方案 【类型】 DP 最长上升子序列 离散化+树状数组 【分析】 这道题一开始我是以O(nlogn)最长上升子序列的插入法做。但是很难实现。卡了一段时间。 后来结合n只有1000的情况,我们应该设想到O(n^2)的做法。 题目涉及到选择,我们不妨回归到一个很经典的DP原创 2017-03-28 11:52:18 · 469 阅读 · 0 评论