又是美好的爆零日。
我想打球了。
离比赛越近,考得就越烂吗。
老规矩,在前面先写点闲话。
看了 的博客“像是人类智慧的结晶”之后,我从 身旁走过时,总想仔细端详一下。
因为他真的很像析出的晶体:或许是小小的一颗,但是很纯。
以及他浑然天成、与生俱来的,似笑非笑的表情,令人回味无穷。
怪不得 会做那张 和 的合照。我理解他了。
:给仙人掌的边随机定向,问每个点期望能到达多少点。
感觉是圆方树上恶心换根 ,写不来。
:有向图,进行 次操作:将若干互不相同的边的边权 ,然后问某个点最短路。
有点降智。一开始以为初始边权全 ,然后发现并不是。
就考虑用势能,将很多边权设为 。然后最短路就不会超过 。
考虑 但是用桶排,且在 张图上同时进行。时空复杂度 。
为啥它会快。我以为是整体 的效果,省去了扫描桶的过程。可能也是吧,但这很蠢……
由于空间会爆,我考虑把 个操作压一组作询问。每组都要重新求一遍最短路!
没错。也就是说,我一直在维护最短路,然后过一段时间我要重新求一次最短路?

完整说一遍:对单次修改,最短路不超过 ,用桶排可做到 维护最短路。然后将新的最短距离作为势能即可。
复杂度 其实还蛮无趣的。
:求 其中 ,需满足 。保证 。数据范围 。
花了我上午 左右 整个下午。气死我了 💢
我以为是 之类的。但 说:“有没有可能是次数较高的 算法?”
我想,祂其实已经会了。只不过出于知识封锁的习惯,没有说出来。😢
回到题目上。每个数只需选若干 使得其满足值域范围,剩下的 总应该和上一个数保持一致。这些 是固定的 的延伸,因此贡献实际出现在固定的 之间。
更具体地,若 有贡献,则 之间的固定 没有 多。不难发现这是笛卡尔树。
Comment. 之前需要 是因为我们在沿着序列方向建笛卡尔树。有时我们要摒弃这种线性的想法。
换成区间 ,只需记 为,左端点 选择的数字是 而右端点 选择数字 时,区间内固定 没有 或 多,最小代价。显然每个位置上的可能数字只有 个,即与 或 的 嘛。
枚举 内固定 最多的位置和它选的数字,复杂度 。
状态太多,优化之。以 指代固定 的数量。若 则 中较高的 无意义:既不产生贡献,也不带来约束。因此状态中只用记录 较小的那个数。这样至少能 。
更进一步:转移时只用到 ,跟 也没关系。因此先枚举 后,直接枚举 得到结果 ,再枚举 可以直接从 更新。
复杂度 。由于极其麻烦,我们只能期待 给出代码实现了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下