/*
题意:此题的大意思说有一串珠子,每个珠子都有自己的欣赏值value,现在给你一
串珠子每个的欣赏值,并给出一些询问,查询某个区间内部总欣赏值是多少,但是有
一个约定就是如果这个区间内部有两个珠子的欣赏值是一样的,那么他们就视为一个。
其实也就是求某个区间内部不同的数的和。
采用离线操作
离线
通常情况下对一种固定的序列,进行多种不同的询问操作。由于这些操作会对序列
产生影响,使后面的询问无法得出正确结果。所以把所有询问记录下来,然后经过
特定的排序处理后再进行操作
本题离线原因:
由于询问一段区间内不同元素的和,那么相同元素就要选择一个作为代表(序列中相同元素
的最右边的元素为代表),由于区间
不同,所以选择的代表不同。
比如数据
1 1 1 1 1
询问
1 4
2 3
我们用最右边元素为代表
则询问1 4 时 序列为 0 0 0 1 1 结果为1
在询问2 3 时 结果变成0,所以不同询问之间产生了影响。所以想到用离线进行处理。
本题如何离线:(序列从左向右移动,需要用右边为代表)
一、关于询问的特殊处理
由于我们采用了最右边的元素为代表,则
我们知道
1)如果对n组询问的右边界不变,则前面的询问操作不影响后面的操作。
2)如果对n组询问的右边界
hdu 3874 树状数组 离线处理
最新推荐文章于 2022-08-11 09:49:47 发布
这篇博客详细介绍了如何利用树状数组解决HDU 3874问题,重点在于离线处理技术的应用。
摘要由CSDN通过智能技术生成