树状数组
wJs9528-1
这个作者很懒,什么都没留下…
展开
-
POJ 2481 Cows
DescriptionFarmer John's cows have discovered that the clover growing along the ridge of the hill (which we can think of as a one-dimensional number line) in his field is particularly good原创 2015-07-27 08:40:03 · 411 阅读 · 0 评论 -
HDU 3333 Turing Tree (离线树状数组)
对Q个询问按照右端点离线,每次查询只需要判断那个数是否已经在树状数组里面了对于30000个数据全部存在数组里,去重,二分查询位置判断是否存在#include#include#include#include#include#include#include#include#include#include//#pragma comment(linker, "/ST原创 2016-03-06 10:53:55 · 112 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers (树状数组解法 树状数组区间更新 区间查询)
这道题做过很多遍了,一开始用线段树去搞,然后学了伸展树,又用伸展树去写了一遍,如今发现树状数组也可以写这里涉及到树状数组的区间更新问题树状数组能够求的一定是前缀和的形式,区间更新必须转换为端点的单点更新才能实现前缀和的修改,那么此时修需要对存储的数据进行一些变形。先来推一下公式令 di=ai-ai-1;将值ai用前缀差值和来表示,则有ax=sum(d1 + d2 + ...dx原创 2016-07-05 10:41:57 · 793 阅读 · 0 评论 -
HDU 2852 KiKi's K-Number (树状数组+二分)
题意:给出一些操作:0 x 在数组中加入一个数x1 x 在数组中去掉一个数x2 a k 在数组中查询比a大的第k小数分析:首先看到题目的数据范围 e对于0 1 操作,直接加入数组中计数对于2操作,二分查询比a大的区间的第k小数,用树状数组或者线段树辅助区间查询#include#include#include#include#include原创 2016-07-05 21:26:18 · 133 阅读 · 0 评论 -
HDU 5792 World is Exploding (树状数组逆序对)
World is ExplodingProblem DescriptionGiven a sequence A with length n,count how many quadruple (a,b,c,d) satisfies:a≠b≠c≠d,1≤ab≤n,1≤cd≤n,AaAb,Ac>Ad. InputThe input consists of multiple原创 2016-08-02 20:03:01 · 443 阅读 · 0 评论 -
codeforces 276 C. Little Girl and Maximum Sum
题意:给出一个长度为n的数列,m次询问区间合值,现在要求把数列重新排序使m次询问合值累加最大其实就是某个位置上次数越多使得乘积的数越大,贪心一下,树状数组或者线段树随便搞搞,统计每个位置的询问次数,将次数和原数列从大到小排,依次乘积相加#include<cstring>#include<string>#include<iostream>#include<queue>#include<cstd原创 2016-09-16 10:49:41 · 394 阅读 · 0 评论 -
HDU 4777 Rabbit Kingdom(离线树状数组 预处理)
题意:询问区间内与其它数不互质的数有多少个 题解:看了众多大牛的博客才懂这题怎么写(我好菜啊) 对于每一次询问,如果知道了这个数的左边不互质区间和右边不互质区间,那么就能通过离线之后加加减减的方法得到答案。 1.不互质区间处理:对于整个序列,从左扫一遍,再从右扫一遍,扫的时候记录每个数的素因子出现的位置,不断更新素因子位置得到每个数的不互质区间L,RL,R; 2.离线处理答案:对于所有询问离原创 2016-10-30 17:41:06 · 347 阅读 · 0 评论