www 被大佬们吊打了,|

wscqwq

园龄:2年粉丝:2关注:3

PeacefulTeams

[ABC310D] Peaceful Teams

考虑状压 DP。

f[i][S][S] 表示已经分配到了第 i 组,且该组的人集合为 S,分配过的人集合为 S 方案数。

假设加入一个人j,则 f[i][S][S]>f[i][S|j][S|j](当然需要满足一定条件)

或者加入之后新分了一组,则 f[i][S][S]>f[i+1][j][S|j](当然需要满足一定条件)

状态中的 j 注意转换成二进制的幂次。

答案为 f[n][any][all],其中 any 满足不为 0all 为所有人都分配,即 2n1

注意需要最后除以排列总数 t!,还需保证每组内编号上升(跨组任意),不然会算重。

初始状态 f[0][0][0]=1

复杂度 O(tn4n)

AC

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17568568.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(16)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起