- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法合集之二分法统计问题;简介;线段树;线段树-构造思想;线段树-动态数据结构;线段树-静态数据结构;线段树-建树;线段树-插入删除线段;线段树-一个特殊性质举例;线段树-变形,对点统计;[例一];
建立点线段树,范围是[1,1000000],即每种面额的帐单设为一个叶结点。
如果C[LSON[v]]0,那么树v中的最小值一定在它的左子树上。
如果C[RSON[v]]0,它的最大值在右子树上;
;一种静态统计方法;一维序列求和;对于序列a[1..n],我们设一个数组C[1..n],C[i]=a[i-2k+1]+…+a[i],其中k为i在二进制下末尾0的个数
10000 k =4
计算C[x]对应的2k LOWBIT(x)
2k =x and (x xor (x-1))
;修改一个a[x]的值 与哪些C相关?
例如x=76=(1001010)2,从形式上进行观察,可以得到:
p1= 1001010
p2= 1001100
p3= 1010000
p4= 1100000
p5修改C[p1],C[p2],…;procedure UPDATA(x,A)
begin
p←x
while (p=n) do
begin
C[p]←C[p]+A
p←p+LOWBIT(p)
end
end
维护的费用:logn;求a[1]-a[x]的和
function SUM(x)
begin
ans ← 0
p ← x
while (p0) do
begin
ans←ans+C[p]
p←p-LOWBIT(p)
end
return ans
end
;推广为原来的二维问题,把C构造成 C[x,y],其每一维定义与原来相同。
推广后算法:两层嵌套,一次维护费用为O(log2n);集合{3,4,5,8,19,6} ;构造过程1 递归:;构造过程2 非递归:;插入一个点x;怎样解决例二;求a[1..x]的元素和
function SUM(x):longint
begin
ans ← 0
now ←1
repeat
if (V[now]=x) ans←ans+LESS[now]
if (V[now]=x) break
if (V[now]x) now←now*2
else now←now*2+1
until false
return ans
end ;[例三]采矿(KOP) ;样例图示;初步,对X离散化后,图示;对于每一种坐标y,建立成两个点事件(y,+1),(y+w+1,-1),
例如在一个带状区域内有5个点的纵坐标分别是{5,3,9,1,9},w=2 ,标成(1,+1),(4,-1),(3,+1),(6,-1),(5,+1),(8,-1),(9,+1),(12,-1), (9,+1),(12,-1),
再将他们按照y的坐标排序,得(1,+1),(3,+1),(4,-1), (5,+1), (6,-1), (8,-1), (9,+1), (9,+1),(12,-1), (12,-1)
我们把后面的标号反映在一个y坐标的映射上,然后从低到高求和
?;坐标下的求和,这些和中最大的一个就是该带状区域中一个包含最多点数的矩形
在插入或者删除??个点事件之后,能够维持坐标下∑的值;能够在很短时间内得到∑中最大的一个值。 ;实现:;自下而上维护树的特性;二分法虚拟实现树;对于一个表{1,3,4,8,9}的二分查找,等价于在如下图的二叉排序树上进行查找: ;举插入结点的例子,来说明这种虚实现的方法,设LESS表示根及其左树上结点的个数: ;[例四]最长下降序列;对P进行特殊的限制,即,在所有等价的决策j中,P选择a[j]最大的那一个
在处理完a[1..x-1]之后,对于所有长度为M[x]-1的下降序列,P[x]的决策只跟其中末尾最大的一个有关。
用另外一个动态变化的数组b,当我们计算完了a[x]之后,a[1..x]中得到的所有下降序列按照长度分为L类,每一类中只需要一个作为代表,这个代表在这个等价类中末尾的数最大,我们把它记为b[j],1≤j≤L。
处理当前的一个数a[x],我们无需和前面的a[j](1≤j≤x-1)作比较,只需要和b[j](1≤j≤L)进行比较。 ;首先,如果a[x]b[L],把a[x]接在这个序列的后面,形成了一个长度为L+1的序列.。这时b[L+1]=a[x],即a[x]作为长度为L+1的序列的代表,同时L应该增加1。
另一种可能是a[x]=b[1],这时a[x] 仅能构成长度为1
您可能关注的文档
- 一元二次方程根与系数的关系.ppt
- 小学儿童心理发展与教育.ppt
- 生物净化的原理及其应用.ppt
- 线性代数 矩阵的运算.ppt
- 英语发展史及词汇构成.ppt
- 砂轮基础知识.ppt
- 需求分析画图.ppt
- 薪酬管理课件薪酬激励.ppt
- 兽医学概论动科.ppt
- 闪烁的小星星.ppt
- 门式膺架法吊装施工工艺工法.pdf
- 筑岛围堰施工工艺工法.pdf
- 外研新版七年级下册《Module 7 My past life Unit 1 I was born in a small village.》同步练习卷3.doc
- 外研新版七年级下册《Module 5 Shopping Unit 2 You can buy everything on the Internet.》同步练习卷3.doc
- 外研新版七年级下册《Module 5 Shopping Unit 1 What can I do for you?》同步练习卷2.doc
- 外研新版七年级下册《Module 6 Around town Unit 1 Could you tell me how to get to the National Stadium?》同步练习卷1.doc
- 外研新版七年级下册《Module 6 Around town Unit 2 The London Eye is on your right.》同步练习卷1.doc
- 人教版2024七年级上册英语Unit 2(知识梳理).docx
- 人教版2024七年级上册英语Unit 3 Section B(1a-1d)(同步课件).pptx
- 部编版八年级下册《第12课 《诗经》二首》同步练习卷(1).doc
最近下载
- 往复炉排的运行调节及注意事项.pdf VIP
- 沪教牛津版英语2024七年级上册全册知识清单(记忆版).docx
- 洛隆车站特大桥桩基全护筒施工工艺总结报告.docx VIP
- 中石化炼油厂用泵的特殊要求及发展趋势.pdf
- 世纪商务英语外贸函电 第四版 项目1 Basic Knowledge of Business English Letters Writing.ppt
- 不锈钢管安装施工方案.doc
- 国家装修标准:JCT 2113-2012 普通装饰用铝蜂窝复合板.pdf VIP
- 医院隔离技术标准2023.pptx VIP
- 强制性条文内容(土建部分).doc
- 新能源汽车发展研究毕业论文5000字.docx VIP
文档评论(0)