ACC 1

为什么不算 Rating???

A

用并查集把需要相等的点连起来,然后对每个连通块记录其不能和哪些连通块颜色相同。

从前往后贪心,在不与之前填过的连通块冲突的前提下填能填的最小数即可。

B

先不考虑传送门,用并查集把连通的点连起来,然后把传送门视为连通块之间的边,

预处理所有有传送门的连通块之间的可达性,这样的连通块只有 O(k) 个所以复杂度没问题。

查询时相同连通块内的点显然可达,否则查两个连通块的可达性即可。

C

发现左右端点的选择是独立的,所以我们只考虑求 l 使得 [l,p] 权值最大,求 r 就倒过来做一遍。

a 的前缀和数组为 xb 的前缀和数组为 y,则 [l,p] 的权值为 xpxl1kyp+kyl1

k,p 是定值,只需要求 yl1kxl1 的最大值,发现这是一次函数求最值的形式,李超线段树维护之。

D

二项式反演:

f(n)=in(in)g(i)g(n)=in(1)in(in)f(i)

f(k) 表示在新树上钦定 k 条边与原树相同的方案数,g(k) 表示恰有 k 条边与原树相同的树的个数(答案),则只需求出 f

考虑求 f(k)。若连上某 k 条边后形成 m 个连通块,第 i 个连通块大小为 ai,则钦定这 k 条边与原树相同的方案数为 nm2ai

(扩展 Cayley 定理)

考虑 ai 的组合意义,发现就是从每个连通块里选一个点的方案数,

所以如果没有那个 nm2,就是要求选定 k 条边,再从形成的每个连通块里选一个点的方案数,

nm2 看成形成了 m 个连通块的方案的权值,则 f(k) 就是选了 k 条边的每种方案的权值和。

Sol 1

fu,i,0/1 表示在 u 子树中选择 i 条边,在 u 所在的连通块中是/否已经选了一个点的方案的权值和,树上背包转移即可。

空间开不下,所以把 u 的孩子 v 合并到 u 上之后,把 v 的状态占用的内存释放掉,这样空间是 O(n) 的。

Sol 2

F(x)=i=0n1f(i)xiFf 的 OGF),考虑拉插出 F 的系数 f。考虑如何求 F 的点值。

规定在之前的基础上,每连一条边方案的权值就乘上 x,即连 k 条边形成 m 个连通块的方案的权值为 nm2xk

F(x) 就是所有方案的权值和(没有选择边数限制),可以用上面的 DP 去掉第二维解决。

这样任取 n 个互不相同的 xi,求出对应的 F(xi),拉格朗日插值即可算出各项系数。

拉格朗日插值:

F(x)=i=1nF(xi)jixxjxixj

posted @   Jijidawang  阅读(102)  评论(13编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示