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

XCPC Contest Records ep.1

1. Campus Partition

Source:ICPC 2023 Hefei
首先可以想到,连通块可以简化为:最大的两个值在端点的路径。
于是乎子树内至多会有一条路径向上走,那么可以进行 DP,设 \(f_{u,i}\) 表示这条路径向上对应的另一个端点权值是 \(i\)\(g_u\) 为子树内完整把路径走完。
有转移:

\[\begin{aligned} f_{u,i}=\max(f_{u,i}+g_{v},\sum_w g_w+f_{v,i})\\ g_{u}=\max(g_u+g_v,f_{u,i}+f_{v,j}+\min(i,j)) \end{aligned} \]

直接 DP 即可做到 \(O(n^2)\)
\(f\) 后续的 \(i\) 只会有 \(n\) 个,使用线段树合并维护整个 DP 数组,具体的手法是:

  • 对于 \(f\),首先给 \(u\) 下边全局加 \(g_v\)\(v\) 下边全局加 \(\sum_w g_w\),合并即可。
  • 对于 \(g\),前者是简单的,后者则需要在合并过程中,枚举每个 \(j\),讨论 \(j\)\(f_{v,j}+j\) 还是 \(f_{v,j}\),值域线段树中维护一个前后缀 \(\max\) 即可。

由此做到 \(O(n\log n)\),Submission。

2. The only winner

Source:9th BSUIR Open Semifinal
枚举唯一最大值 \(s\),那么对于 \(2n\) 而言,\(<s\)\(s-2n-1\) 种取法,此后 \(2n-1\) 除去发现贡献是相同的,也是 \(s-2n-1\)
还需 pick 出一个值使其取到 \(s\),这个值共有 \(n-(s-2n)/2\) 种取法。
其余的随意匹配即可,还有 \(2(s/2-n)\) 个数,所以剩下 \((2(s/2-n)-1)!!\)
所以分子即为 \(\sum (s-2n-1)^{n-(s-2n)/2-1}(n-(s-2n)/2)(2(s/2-n)-1)!!\)
分母显然是 \((2n-1)!!\),预处理双阶乘即可做到 \(O(n\log n)\),记得特判 \(n=1\),Submission。

http://www.sczhlp.com/news/5326/

相关文章:

  • OI Contest Records ep.1
  • 3ds Max 手绘风格渲染插件 Pencil+ 4.25 使用与安装指引
  • infp.?
  • 去除打开方式/选择其他应用残留
  • 请说出Vue.cli项目中src目录每个文件夹和文件的用法?
  • GeoHash是一种将二维地理坐标(经纬度)转换为一维字符串的技术,通过递归划分地球表面区域实现高效索引。
  • docker运行java容器
  • Debian 10 执行 sudo apt update 报错的解决办法
  • 武器切换和隐藏功能
  • 英语_课本_8A_Unit04_Then and now
  • 图片时间定位修改工具:一键重塑照片时空信息的神器
  • 智能体三强争霸:Coze、Dify、FastGPT谁是企业AI化的最优解?
  • Ubuntu 22.04-字符界面下挂载u盘
  • Android IOS 代码覆盖率实现
  • HomeAssistant 接入国家电网
  • 干货 | 读懂 Appium 日志,让测试效率翻倍!
  • 2025年8月4日
  • VMware安装WIN10系统时报错EFI Network 解决方法
  • 友链
  • OpenCV实战之人脸美颜美型算法
  • 振荡器闪烁相噪学习
  • Mac 禁用 SIP
  • windows11 重启开机后无法找到wifi
  • 自定义我的博客园
  • 封装usehooks监听本地缓存事件触发问题
  • 利用GeminiBalance搭建Gemini API号池
  • linux source命令使用详细介绍 - 教程
  • RNDIS技术解析:USB上网的极速通道
  • kgdb调试
  • 性能调优:troubleshooting slow parse sql on 19.16