3134. 魔法手链
题目链接
3134. 魔法手链
给定 种不同颜色的魔法珠子,每种颜色的珠子的个数都足够多。
现在要从中挑选 个珠子,串成一个环形魔法手链。
魔法珠子之间存在 对排斥关系,互相排斥的两种颜色的珠子不能相邻,否则会发生爆炸。(同一种颜色的珠子之间也可能存在排斥)
请问一共可以制作出多少种不同的手链。
注意,如果两个手链经旋转后能够完全重合在一起,对应位置的珠子颜色完全相同,则视为同一种手链。
答案对 取模。
输入格式
第一行包含整数 ,表示共有 组测试数据。
每组数据第一行包含三个整数 。
接下来 行,每行包含两个整数 ,表示颜色 的珠子不能和颜色 的珠子相邻。
种颜色编号为 。
输出格式
每组数据输出一行一个整数,表示答案。
数据范围
,
,
,
,
,
输入样例:
输出样例:
解题思路
burnside
本题即 3133. 串珠子 的加强版,由于多了循环置换之间的限制,所以不能用 polya 定理,只能用 burnside 引理
本题只考虑旋转,每次旋转 次,旋转的次数为 ,共 个可能相交的循环置换,则每次置换时只用考虑长度为 这段形成环的方案数,先考虑对于非环的情况, 求解, 表示前 个点最后一个点为 时的方案数,这部分答案为前一个合法状态的总和,但 过大,考虑矩阵优化,设 ,可以发现:,其中 为限制矩阵,则有 ,故可用矩阵乘法优化 ,另外这里不需要考虑环的情况,因为矩阵乘法已经满足首尾限制了,还有一点,由于 过大,不可能枚举所有的 ,但是可以找出有多少个这样的 ,设 ,则这样的 有 个
范围内的最多约数个数为 ,故:
- 时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/16800906.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/16800906.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!