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

P12653 [KOI 2024 Round 2] 分数竞赛

题意容易转化为求以 \(u\) 为起点,\(S\) 为所有路径的 \(dis-minpre\) 和,\(C\) 为所有路径的 \(\sum_i [pre_i<\min(pre[1,i-1])]\) 之和。

以每个点为起点的路径问题考虑点分治,当前分治中心为 \(rt\)

先考虑第一问,所有从 \(u\) 出发经过 \(rt\) 的路径的 \(\sum dis\) 是好求的,预处理 \(S=\sum_v dis(rt,v)\),则 \(u\) 的结果为 \(s_u\cdot \sum_v [\mathrm{lca}(u,v)=rt]-(S-\sum_{v, \mathrm{lca} (u,v)\ne rt}dis(rt,v))\)。而所有路径的 \(minpre\) 考虑合并 \(u\to rt\)\(rt\to v\),则 \(minpre=\min(minpre_{u\to rt},dis(rt,u)+minpre_{rt\to v})\) 容易得出分别取到两项时需要满足的不等式条件,容易用值域线段树简单维护。

而前缀最小值个数同样考虑合并 \(u\to rt\)\(rt\to v\)\(cnt_{u\to v}\)\(u\)\(v\) 路径上前缀最小值个数,则 \(cnt_u\) 直接计入,而假设 \(rt\to v\) 路径上所有前缀最小值的集合为 \(T\)\(T\) 中元素 \(x\) 计入答案当且仅当 \(dis(u,rt)+x<minpre_{u\to rt}\) 同样得出不等式关系。而 \(rt\to v\)\(T\) 容易递推得到,当 \(v\) 位置作为根链上的前缀最小值,则意味着其在子树中任意点的结果中都作为前缀最小值出现,故贡献 \(siz_v\) 次。

剩下的问题是如何得到 \(u\) 走到根链上的各种信息,实际上只需要找到最深的祖先满足 \(dis(rt,w)>dis(rt,u)\)\(u\) 的各种信息从 \(w\) 转移即可(第一个前缀最小值在 \(w\) 处)。

卡常的话离散化后用树状数组好像会快很多。

代码很丑不想放了。

http://www.jsqmd.com/news/359323/

相关文章:

  • 计算机小程序毕设实战-基于springboot+小程序的驾校考试模拟系统小程序基于微信小程序的驾校模拟考试系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • P5712 【深基3.例4】Apples
  • 例说FPGA:可直接用于工程项目的第一手经验【3.2】
  • 小程序毕设项目推荐-基于微信小程序的驾校考试预约系统基于springboot+小程序的驾校考试模拟系统小程序【附源码+文档,调试定制服务】
  • 从平台工程视角“封装 Kubernetes”
  • 计算机小程序毕设实战-基于springboot+小程序的家教兼职系统小程序基于微信小程序的家教信息管理平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 11.Python文件操作
  • 【课程设计/毕业设计】基于SpringBoot的助眠小程序系统设计与实现基于springboot+小程序的睡眠健康管理系统小程序【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于springboot的特色农产品,周至猕猴桃产品售卖网站的设计与实现【附源码、数据库、万字文档】
  • Kubernetes 上构建 AI 基础设施全景实践
  • 【课程设计/毕业设计】基于微信小程序的驾校预约管理系统的小程序基于springboot+小程序的驾校考试模拟系统小程序【附源码、数据库、万字文档】
  • 【计算机毕业设计案例】基于springboot+小程序的睡眠健康管理系统小程序(程序+文档+讲解+定制)
  • 【课程设计/毕业设计】基于微信小程序的家教兼职系统家教预约基于springboot+小程序的家教兼职系统小程序【附源码、数据库、万字文档】
  • Windows也能跑OpenClaw:完整安装教程+飞书接入,一步步带你避坑
  • 星球助手v1.8.3发布
  • ntp服务端和客户端
  • 小程序毕设项目:基于springboot+小程序的家教兼职系统小程序(源码+文档,讲解、调试运行,定制等)
  • 小程序毕设项目:基于springboot+小程序的睡眠健康管理系统小程序(源码+文档,讲解、调试运行,定制等)
  • 《Software Defined Radio软件无线电》学习笔记
  • 小程序计算机毕设之基于微信小程序的家教兼职平台基于springboot+小程序的家教兼职系统小程序(完整前后端代码+说明文档+LW,调试定制等)
  • 封神组合!finalCodecs+完美解码+PotPlayer,再也没有打不开的视频
  • 基于GRU门控循环单元的轴承剩余寿命预测MATLAB实现
  • 小程序计算机毕设之基于springboot+小程序的睡眠健康管理系统小程序t基于微信小程序的睡眠健康管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 第五章 栈与队列part02
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的微信医院挂号系统基于springboot+小程序的医院挂号系统小程序(程序+文档+讲解+定制)
  • 【毕业设计】基于springboot+小程序的家教兼职系统小程序(源码+文档+远程调试,全bao定制等)
  • 更新运行时间,完成报错解决
  • 【毕业设计】基于springboot+小程序的睡眠健康管理系统小程序(源码+文档+远程调试,全bao定制等)
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的公交信息在线查询系统(程序+文档+讲解+定制)
  • 小程序毕设项目:基于springboot+小程序的校园跑腿小程序设计与实现(源码+文档,讲解、调试运行,定制等)