首页 > 其他分享 >PKUWC2025 Day1 T2

PKUWC2025 Day1 T2

时间:2025-01-14 19:23:13浏览次数:1  
标签:pre log text T2 PKUWC2025 Day1 sqrt

来抛砖引玉一波。

先声明:我的做法基于维护的数据结构不同是 \(O(n\log^3{(n+m)}+m\log^2{(n+m)})\) 或者 \(O(n\sqrt{(n+m)}\log{n}+m\sqrt{(n+m)})\)。

我的思路大致就是:按照 \(x\) 从小到大处理所有询问。

记 \(p_i\) 为当前 \(i\) 号点的 \(x\) 级祖先。

然后考虑如何维护区间内的不同的 \(p_i\) 数目。一种方法是数颜色,另一种就是用 \(pre_i\) 表示所有和 \(i\) 相同深度的节点中,第 \(i\) 个位之前,上一个 \(p\) 的值等于 \(p_i\) 的位置出现在哪。

容易注意到,这个东西的变化量是小常数 \(O(n\log n)\) 级别的,证明就是 \(\text{DSU on Tree}\) 的过程——即每次合并的过程中最多只会修改两个 \(pre_i\) 的值。

然后我们的模型就转化成了:

  • \(n\log n\) 次单点修改权值
  • \(m\) 次区间查询小于特定值的数个数

这个东西就是一个动态二维数点,等价于静态三维数点。

可以用 \(\text{CDQ}\) 分治解决,或者用分块。

分块做法的话似乎是 LOJ6278 的弱化版

标签:pre,log,text,T2,PKUWC2025,Day1,sqrt
From: https://www.cnblogs.com/zac2010/p/18671421

相关文章

  • R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组
    R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点的相似性将它们组织成树状图链接起来(HierarchicalDendrogram)目录R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点......
  • Day13-【软考】长文!什么是散列表查找?以及所有的排序算法是怎样的?如何进行堆排序(重点!)?
    文章目录什么是散列表查找?计算出空间相同怎么办?排序有哪些概念?排序方法有哪些分类?什么是直接插入排序?(稳定)什么是希尔排序?什么是冒泡排序?(稳定)什么是快速排序?O(nlog2为底n为真数)什么是简单选择/直接选择排序?什么是堆排序(重点!)?O(nlog2为底n为真数)比简单的选择排序,有什么优势......
  • Linux下ext2文件系统
    文章目录一:penguin:基本概述二:star:ext2文件系统:star:​1.:star:​BootBlock(引导块)位置与作用三BlockGroup(块组):star:​1.:star:​SuperBlock(超级块):star:​2.:star:​GroupDescriptor(块组描述符):star:​3.:star:BlockBitmap(​块位图):star:​4.......
  • day14-Linux系统基础权限知识精讲
    1.给文件加特殊属性1.1chattra:只能追加内容,不能删除i:不能修改,不能删除;保护关键文件,防止非法写入[root@oldboy~]#chattr+atest.txt[root@oldboy~]#chattr+itest.txt[root@oldboy~]#echo123>>test.txt-bash:test.txt:权限不够[root@oldboy~]......
  • 每日算法Day16【复原IP地址、子集、子集II】
    93.复原IP地址算法链接:93.复原IP地址-力扣(LeetCode)类型:回溯难度:中等思路:终止条件:IP地址中总共有3个分割点。每层搜索逻辑:每段数字大小介于0~255之间,通过索引index截取字符串。题解:classSolution{List<String>result=newArrayList<>();pu......
  • 为AI聊天工具添加一个知识系统 之31 项目文档“Part2 形式化&结构化” 的初/中/后 增
    本文要点在前面讨论的基础上,我们尝试着提炼出本项目的一个概念结构作为我们为这个项目的后期进展打的一个”死结“--为了无论后期被什么样的人如何发展,总是坚如磐石般岿然不动--不会因为任何发展而动摇和崩塌。先从这里开始:消化:升华-意识者自我训导  生物化学自足量......
  • 【JavaWeb学习Day12】
    MyBatis简介:Mybatis是一款优秀的持久层框架,用于简化JDBC的开发。Mybatis本是Apache的一个开源项目ibatis,2010年这个项目由apache迁移到了googlecode,并且改名为Mybatis。2013年11月迁移到github官网:https://mybatis.org/mybatis-3/zh/index.html01.入门程序:使用Mybatis查......
  • 【JavaWeb学习Day11】
    java程序操作数据库(JDBC)JDBC:(JavaDataBaseConnectivity),就是使用Java语言操作关系型数据库的一套API。本质:1.sun公司官方定义的一套操作所有关系型数据库的规范、即接口。2.各个数据库厂商去实现这套接口,提供数据库驱动jar包。3.我们可以使用这套接口(JDBC)编程,真正执行的......
  • md学习DAY1
    Markdown学习DAY1标题三级标题四级标题字体粗体hello,world!斜体hello,world!斜体加粗hello,world!废除hello,world!引用选择疯狂包,成为包上包分割线图片超链接点击跳转到疯狂包子的博客列表ABCABC表格姓名性别出......
  • 代码随想录算法训练营day16(0109)
    很痛苦,也是对自己放松的一种惩罚吧!大半夜的冻着脚在这里写算法,最难受的是还不会写!!!!1.找树左下角的值层序遍历比较简单,但是递归有点不太明白怎么整。因为要的是最后一行的最左边的值。递归首先是要明白怎么获得我们想要的左下角,其实就是最底层的左边,那么可以确定的是只要先左......