首页 > 其他分享 >zkw线段树学习笔记

zkw线段树学习笔记

时间:2024-12-17 22:52:51浏览次数:3  
标签:结点 线段 左移 笔记 zkw 节点 堆式

先%一下zkw。sto zkw orz


zkw线段树是一个改良版的线段树。其功能与传统线段树相同,也是用于维护区间信息。但是zkw线段树有很多优点:

  1. 代码简短;
  2. 纯天然非递归;
  3. 常数小(尤其在差分区间更新时)

特点:堆式储存,找父亲只需右移一位。


建树

和线段树一样,父节点左移一位为左儿子,再+1(或者|1)为右儿子。

我们知道,最底层实际上存的是原数组,同时由于堆式储存的特性,序号也是顺序排列的,也就是说当我们需要查询或修改时,只需在原数组序号上加上一个数,设为m吧。

for(m=1;m<n;m<<=1);

实际上,m为最底层所有节点的父节点总数,所以只需设m为1,不断左移,当m>=n时停止。

zkw线段树建树的方式就是首先输入叶子结点的信息然后再一路向上传递信息,直到根结点。


单点修改

比较 \(easy\)。


留坑,noip后回来填。

标签:结点,线段,左移,笔记,zkw,节点,堆式
From: https://www.cnblogs.com/lxgswrz/p/18613600

相关文章

  • 奇绩创坛公开课第01课_创业走出第一步_陆奇:学习笔记
    写在前面背景:笔者已完整完成奇绩创坛官网上面的创业公开课,并且取得了结课证书。并且在2024年12月份参加了奇绩在我们学校的线下公开课。由于发现这些创业课程的质量很好,于是决定将学习笔记发布出来。一方面,对于学校里面的学生来说,这些经过萃取过的创业知识和方法论很有指......
  • Golang学习笔记_12——结构体
    Golang学习笔记_09——if条件判断Golang学习笔记_10——SwitchGolang学习笔记_11——指针文章目录结构体1.定义2.访问&&修改3.零值初始化&使用指针初始化4.匿名字段和嵌套结构体5.结构体方法和接收者源码结构体Go语言中的结构体(struct)是一种复合数据......
  • 代理 mitmproxy Python启动时,配置 block_global 参数,使用笔记(三)
    代理mitmproxyPython启动时,配置block_global参数,使用笔记(三)为什么要加block_global=false?,若不加,则只能本地拦截,而移动设备,或非本机请求时则无法被拦截将报错如下:Clientconnectionfrom192.167.6.166killedbyblock_globaloption注意:使用Python的非命令行启动,之前的......
  • 阅读笔记
    技术深度与广度在《程序员修炼之道》中,作者强调了程序员在技术深度和广度上的均衡发展。技术深度意味着对某一领域技术的深入理解和熟练掌握;而技术广度则要求程序员了解多个技术领域,以便在解决问题时能够灵活应用。深入掌握核心技能:书中提到,程序员应该深入掌握至少一种编程语言......
  • 【学习笔记总结】华为云:应用上云后的安全规划及设计
     一、背景和问题        数字化时代,随着信息技术的飞速发展,企业和各类组织纷纷将自身的应用程序迁移至云端。云计算凭借其诸多优势,如成本效益、可扩展性、灵活性以及便捷的资源共享等,已然成为了现代业务运营的重要支撑。    今年,我所在企业也将IT系统全面迁......
  • 【大模型智能客服背景下】知识图谱笔记
     【背景】        在数字化飞速发展的时代,客户服务的质量和效率成为企业立足市场、赢得客户信赖的关键因素之一。随着人工智能技术的不断革新,智能客服应运而生,为企业与客户之间搭建起了更为便捷、高效的沟通桥梁。        传统的智能客服系统往往基于预设规......
  • 弹性波动力学笔记(三) 应变张量简介上
    IntroductionofDeformation,StrainandRotationTensorsElasticitytheory,whichliesatthecoreofseismology,ismostgenerallystudiesasabranchofcontinuummechanics.Althoughthisgeneralapproachisnotrequiredinintroductorycourses,itisa......
  • GO 学习笔记之零 (一)GO推荐的工程目录结构
    1、工程目录结构GOPATH/src/myproject/cmd/myapp/main.gopkg/utils/utils.gointernal/secret/sec......
  • 《Vue3笔记》第05节:Vue3项目引入Axios插件实现网络通信
    这篇文章基于前一个小节的代码基础之上,介绍如何在Vue3项目中引入Axios插件实现网络通信的功能。Vue3项目开发(微信文章集合)1.1、安装依赖Axios是一款实现网络通信的插件,在前后的分离的项目中,要和后端接口进行数据通信,就可以采用Axios这个插件。首先安装Axios插件所需要的......
  • 远程桌面退出全屏/不能全屏/全屏切换的技巧 笔记本电脑没有Break键怎么办
    远程桌面退出全屏/不能全屏/全屏切换的技巧笔记本电脑没有Break键怎么办?微wx笑于2015-05-0717:59:54发布阅读量6.7w收藏4点赞数15分类专栏:操作系统文章标签:远程桌面全屏退出切换Break版权操作系统专栏收录该内容26篇文章1订阅订阅专栏在使用Windows远程桌面......