P8189 [USACO22FEB] Redistributing Gifts G

感觉比较套路?
考虑如何刻画最终状态,经典技巧是连边 \((i,p_i)\) 形成若干简单环,故考虑对环计数。
\(f_{S,i}\) 为当前链上点集合为 \(S\)\(i\) 为一端,最小值为另一端的方案数,这样可以不重不漏。
再考虑合并环,类似于 exp 直接子集卷积即可。可以做到 \(O(2^nn^2+3^n)\)

更牛的是可以不考虑合并,因为合并就钦定的是集合最小点位置加入的,把状态改成已经组成若干个环即可,复杂度 \(O(2^nn^2)\)

posted @ 2025-08-07 21:17  SmileMask  阅读(8)  评论(0)    收藏  举报