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

集训总结(九)

9.24

P11770 檐牙覆雪

暴力很好写,直接枚举即可。单次询问复杂度 \(O(nlogn)\)。打个表,发现每个地方的最大雪堆都是由它的最大质因子位置转移而来.

\(f_i\) 表示最后 \(i\) 处最大雪团体积,则有转移:\(f_i=max(f_{\frac{i}{p}})+\frac{n}{\frac{i}{p}}-p+1\)

于是我们可以预处理出每个数的最大质因子。发现它们会构成一棵树。我们每次往根节点走,在到达的点加上贡献即可。

复杂度 \(O(T+nlogn)\)

9.25

P6097 子集卷积

首先有 \(h_i=\sum_{j \cup k=i}f_j \times g_k\)

第一个限制 \(i \cup j=k\),直接上 \(FMT\) 即可。

第二个限制 \(i \cap j=k\),可以转换为 \(\left | i \right |+\left | j \right |=\left | i \cup j \right |\),计算时再开一维记录集合大小即可。

\(f_{i,j}=a_j \times [\left | j \right |=i]\)\(g_{i,j}=b_j \times [\left | j \right |=i]\),则有 \(h_i=\sum_{k=0}^if_k*g_{i-k}\)。最后答案即为 \(c_i=h_{\left | i \right |,i}\)

P4463 calc

很容易写出一个暴力 \(dp\):设 \(f_{i,j}\) 表示前 \(i\) 个数取值域范围为 \([1,j]\) 的数的方案数,则有转移:\(f_{i,j}=f_{i-1,j-1}\times j+f_{i,j-1}\),最终答案即为 \(f_{n,V}\times n!\)

但此时是 \(O(nV)\) 的,考虑优化。

\(f\) 进行差分,令 \(g_{i,j}=f_{i,j}-f_{i,j-1}\),则有转移:\(g_{i,j}=j \sum_{k=0}^{j-1}g_{i-1,k}\),同时也有 \(f_{i,j}=\sum_{k=0}^jg_{i,j}\)

此时可以发现 \(g_{n,i}\) 是关于 \(i\) 的二次函数,证明略。
接下来就很好做了:先 \(dp\) 出值域为 \([1,2n-1]\)\(f\) 值,然后拉插求出这个 \(2n+1\) 次函数,最后带入 \(x=V\) 即可。

9.26

P10102 矩阵

直接判的话是 \(O(n^3)\) 的,考虑优化。

发现对于一个向量 \(D\)\(D \times A \times B=D \times C\),而向量和矩阵相乘是 \(O(n^2)\) 的,所以我们可以随机构造一个向量,判断是否满足条件即可。

正确性我不会证,不过听 sgz 说错误率为 \(\frac{1}{mod}\)

P12479 长野原龙势流星群

为什么大家都写 \(dp\) 呀,只有我觉得这是贪心吗?

考虑一个最大点权的点 \(x\),那么以它为根的联通块一定只选它一个,这很显然。
我们再考虑它的父亲 \(y\),不难发现,如果一个联通块包含了 \(y\),那么再包含一个点 \(x\) 一定不劣。那么我们就可以直接把 \(x\)\(y\) 缩成一个点。用优先队列维护这个过程,将点权变为平均点权即可 \(O(nlogn)\) 解决。

P13523 序列与查询

赛时写的 KTT,成功被眉目出题人卡成 \(70\)

\(f(x)\) 表示长度为 \(x\) 的最大子段和大小,那么此时区间加 \(k\)\(f\) 的影响就是 \(f(x)=f(x)+kx\)

发现所有 \((x,f(x))\) 构成一个上凸壳,因此我们只需要预处理出上凸壳,查询时在凸壳上二分,即可 \(O(logn)\) 完成一次查询。具体的,我们对于一条斜率为 \(-k\) 的直线,我们在凸壳上二分,找到与凸壳相切的直线即可。

考虑如何预处理凸壳。我们采用分治的方法,将区间 \([l,r]\) 分成 \([l,mid]\)\([mid+1,r]\) 递归下去,处理出区间内的凸壳,然后将左右区间的凸壳合并即可。对于合并,直接闵可夫斯基和就可以。

复杂度 \(O(nlogn+qlogn)\)

KTT 过几天再写。

http://www.hskmm.com/?act=detail&tid=19395

相关文章:

  • 完整教程:操作系统之初识Linux
  • XJSOJ优化(Stylus脚本)
  • 使用mpm-itk让Apache以不同用户身份运行的完整指南
  • sg.如何打开PySimpleGUI调试器窗口?
  • 第6篇、Flask 表单处理与用户认证完全指南:从零到实战
  • 威联通 NAS Docker 容器更新详解:从备份、推送到重建的全流程指南
  • parameter和defparam的简单用法
  • 9.27学习笔记
  • 开学日记
  • 生活随笔
  • UNIQUE VISION Programming Contest 2024 Autumn (AtCoder Beginner Contest 425)
  • 论文解读-《Less is More on the Over-Globalizing Problem in Graph Transformers》 - zhang
  • 作业2
  • NOIP模拟赛 十八
  • loguru 日志库快速入门
  • lca学习笔记
  • 内存访问流程
  • .NET操作Word实现智能文档处理 - 内容查找替换与书签操作
  • day19_添加 修改
  • day18_查询功能 合并servlet
  • NOIP模拟赛 十七
  • day22_用户模块
  • 2025 丹东店推荐:丽格门窗,用 20 年技术沉淀守护家的舒适
  • NOIP2025模拟赛23
  • step
  • 2025 呼和浩特店推荐:丽格门窗,用 20 年技术沉淀守护家的温度
  • 深入解析:浏览器端音视频处理新选择:Mediabunny 让 Web 媒体开发飞起来
  • 2025 宁波门窗店推荐:丽格门窗,甬城品质家居的安心之选
  • 2025 贵阳门窗店优选:丽格门窗,用 20 年匠心适配高原宜居需求
  • 2025 济南门窗店选购指南:丽格门窗凭硬实力圈粉品质家庭