当前位置: 首页 > news >正文

basic - segment tree

tricks

  • 离散化线段树,通常是一些点不会被更新到,但其实还是可以作为答案的。可以把它们并成一个虚点考虑。
    • P4087 [USACO17DEC] Milk Measurement S 这个题另一个重点是弄清楚什么时候统计答案,我们关心rk1的个数cnt和rk1的下标。为了维护这个要再加一个mx。
  • 维护某个子串有没有出现过的01线段树,可以不用维护它拼起来的子段,状压一下更方便。因为要修改,状压完还要状压所有同长度的有没有出现。
    • P13274 [NOI2025] 三目运算符
  • 信息维护答案不能通过合并得到 -> 把答案拆贡献变成可以通过合并维护的。
    • P3113 [USACO14DEC] Marathon G 维护不跳过总长度及删掉一个点的最大贡献。
  • 可以尝试在询问上建线段树,考虑修改对答案的贡献,如果原来的东西就是一个序列的话也要想到这也点(考虑原序列每个点对不同询问区间分别有怎么样的贡献)
    • P3616 富金森林公园 先考虑某一个状态下怎么让每一位对询问区间的答案产生贡献,现考虑没有重复的,上凸的形状会在水位大于其时使答案-1,下凹则在大于其时+1(从下往上扫描线),感觉这种有类似水位的东西都可以考虑慢慢漫上来的过程,然后直接维护区间加,单调查就好了(一开始写了不是差分的树状数组,脑子进水了)。修改的时候把原来\(p-1,p,p+1\)的位置减掉然后新的加上。
  • 线段树套并查集,信息注意要维护在当前这个用并查集维护了连通性的区间中,左端右端的祖先(一定要是祖先,父亲的话两端接不上),用于和别的线段树上节点合并。一定要记录下来的原因是如果全部用全局的fa数组维护连通性,之后修改的时候此区间的fa已经在维护更大区间的时候合并乱了,即维护的已经不是这个区间的连通性了。只要左右端点的原因是和别的合并只关心这个,至于其祖先可能不在两端并不重要,可以视作维护连通性的虚点。fa更应该理解为每次合并时对于此区间的临时数组,所以merge需要根据两个区间的该信息对fa进行重构。
    • P4121 [WC2005] 双面棋盘 注意实现细节,对应上文 code
http://www.zskr.cn/news/8721.html

相关文章:

  • linux kernel synchronization 1
  • 势能分析揭开一些算法的秘密
  • 企业省钱又安全的5款Linux发行版:从Ubuntu到Pop!_OS全面解析
  • 第六章 数组
  • 0133_解释器模式(Interpreter)
  • trick杂记 例题
  • 网络流 最小割、费用流
  • AdMergeX与小川科技最右App合作案例入选中国信通院“高质量数字化转型典型案例集” - 实践
  • 高效测试的第一步:5个用例设计基础思维模型
  • Python笔记总结
  • 8465:马走日
  • 性能调优之NUMA调优
  • 实用指南:光学神经网络与人工智能应用
  • Zabbix 企业级监控架构实战指南:从搭建、可视化到智能告警
  • U522155 数据生成(小心电脑)
  • 实用指南:OSG中osgFX库
  • 2025.9.20——1橙
  • 用 PHP 和 Tesseract OCR 识别英文数字验证码
  • 凝望深渊时,深渊也凝望着你(黑洞与摇钱树)
  • spring项目部署后为什么会生成 logback-spring.xml记录
  • 202509_NBWS_logbool
  • Kubernetes权威指南-深入理解Pod Service
  • 4980:拯救行动
  • java03-wxj
  • AI 智能体与 Coze 工作流实践:小红书对标账号采集 - 实践
  • 对比六种JavaScript全文搜索库 fuse.js 、 lunr 、 flexsearch 、 minisearch 、 search-index 、 js-sea
  • 从零开始: c#纯代码实现完整Json解析器的全过程及注释与自定义格式的支持实现
  • 大模型服务之下的新旧政务智能系统比较 - 指南
  • CentOS7.9上安装MySQL8.4
  • JBoltAI框架:企业级AI开发的革新路径与行业实践 - 那年-冬季