把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

P5333 [JSOI2019] 神经网络

题面传送门

本来以为 \(m\) 这么小是 \(m\sum k_i\log k\) 的 NTT 的,写完发现一点不用(

首先我们发现,这样的图上面的一个哈密顿回路可以表示成原森林若干条链,每个点都在其中一条链上,且相邻两条链不在同一棵树上。

先跑一个 DP 把 \(f_{i,j}\) 表示用 \(j\) 条链覆盖 \(i\) 的方案数有几种跑出来,然后我们要处理在同一棵树上的链不相邻的限制。我们显然可以设计一个 DP:设 \(dp_{i,j}\) 表示考虑到了前 \(k\) 棵树,有 \(j\) 个相邻的方案数,但是这样子 DP 是 \(O((\sum k)^3)\) 的。

我们需要进行一个斥的容,具体的,先对于每棵树内部钦定若干条链在最终序列中放在一起,然后转移就可以直接合并,这样复杂度就是 \(O((\sum k)^2)\) 的。

注意对第一棵树特殊处理。

submission

posted @ 2023-12-26 19:14  275307894a  阅读(40)  评论(0)    收藏  举报
浏览器标题切换
浏览器标题切换end