ABC321

前言

感觉自从没了 EX 后整体难度降了不少

A

模拟即可

B

观察到 n100,枚举答案验证即可,时间复杂度 O(100×nlogn)

C

手算一下可以发现满足条件的数字只有 1022 个,直接 dfs 出所有答案并存储,排序并输出第 k 小即可

D

易得求 i=1nj=1mmin(ai+bj,P)

显然排序不影响答案,所以考虑对 ab 排序后对 b 做前缀和并二分查找 b 中第一个大于等于 Pai 的数的位置,通过前缀和计算答案即可,时间复杂度 O(nlogm)

E

发现建出来的树是一颗完全二叉树,考虑将答案分为两部分,即点自身的 k 儿子和与该点的父亲距离为 k 的点。

可是这两个部分存在交集,所以我们每次加上父亲结点的贡献时都要再减去点自身的 k2 儿子。大眼观察得该完全二叉树的每一层的点都可以构成一个公差为 1 的等差数列,那么计算一个点的 d 儿子时(1dk),可以找到 d 儿子中最左的结点 u 和最右的结点 vd 儿子的数量即为 vu+1

注意当 k 大于两倍树高时无解,因为树的直径不可能超过两倍树高。时间复杂度 O(nlognlogn)

F

可撤销背包板子,虽然我之前不知道有可撤销背包这么个东西

dpi 为和为 i 的方案数,对于增加一个 x,多出的方案数就是从 ix 转移而来;对于减少一个 xi (xi) 在没有 x 之前的方案就是从 ix 处没有使用的位置转移而来。

时间复杂度 O((kx)2)


__EOF__

本文作者Akane_Moon
本文链接https://www.cnblogs.com/hzx-qwq/p/17725633.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Akane_Moon  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?

“一言(ヒトコト)

点击右上角即可分享
微信分享提示