为什么不算 Rating???
A
用并查集把需要相等的点连起来,然后对每个连通块记录其不能和哪些连通块颜色相同。
从前往后贪心,在不与之前填过的连通块冲突的前提下填能填的最小数即可。
B
先不考虑传送门,用并查集把连通的点连起来,然后把传送门视为连通块之间的边,
预处理所有有传送门的连通块之间的可达性,这样的连通块只有 个所以复杂度没问题。
查询时相同连通块内的点显然可达,否则查两个连通块的可达性即可。
C
发现左右端点的选择是独立的,所以我们只考虑求 使得 权值最大,求 就倒过来做一遍。
设 的前缀和数组为 , 的前缀和数组为 ,则 的权值为 ,
是定值,只需要求 的最大值,发现这是一次函数求最值的形式,李超线段树维护之。
D
二项式反演:
设 表示在新树上钦定 条边与原树相同的方案数, 表示恰有 条边与原树相同的树的个数(答案),则只需求出 。
考虑求 。若连上某 条边后形成 个连通块,第 个连通块大小为 ,则钦定这 条边与原树相同的方案数为 。
(扩展 Cayley 定理)
考虑 的组合意义,发现就是从每个连通块里选一个点的方案数,
所以如果没有那个 ,就是要求选定 条边,再从形成的每个连通块里选一个点的方案数,
把 看成形成了 个连通块的方案的权值,则 就是选了 条边的每种方案的权值和。
Sol 1
设 表示在 子树中选择 条边,在 所在的连通块中是/否已经选了一个点的方案的权值和,树上背包转移即可。
空间开不下,所以把 的孩子 合并到 上之后,把 的状态占用的内存释放掉,这样空间是 的。
Sol 2
设 ( 是 的 OGF),考虑拉插出 的系数 。考虑如何求 的点值。
规定在之前的基础上,每连一条边方案的权值就乘上 ,即连 条边形成 个连通块的方案的权值为 ,
则 就是所有方案的权值和(没有选择边数限制),可以用上面的 DP 去掉第二维解决。
这样任取 个互不相同的 ,求出对应的 ,拉格朗日插值即可算出各项系数。
拉格朗日插值:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具