环形染色问题


基本模型:

一个环形区域有n小块,有m种染料,给这些小块染色,其中相邻的小块颜色不相同,问有多少种染色方案。


问题分析:

1.将n个小块进行编号1~n。图片说明

2.分析每块的上色方案,第一块有m种方案,第二块有m-1种方案,第三块也有m-1种方案,一直到第n块都是m-1种方案,因此一共有m图片说明 方案。

3.而这m图片说明 方案又分为两种情况:
(1)第n块与第1块颜色不同。 图片说明
我们可以设i块的方案数为图片说明 ,那显然这种情况下的方案数就是图片说明 ;
(2)第n块与第1块颜色相同。图片说明
这种情况下如果看成n块显然就不成立,因此我们可以把第n块和1块合并,把它看成n-1块,也就是这样图片说明
因此这种情况下的方案数就是图片说明
综合这两种情况,可以得出递推关系式图片说明

4.根据递推关系式,图片说明

因此有,
图片说明 ;
……
图片说明 ;

一层一层代入可以得到:图片说明

又由于图片说明

因此图片说明


公式总结:

图片说明 图片说明


题目举例:

Yuanyuan Long and His Ballons:

问题传送门:https://ac.nowcoder.com/acm/problem/14584
题解传送门:https://blog.nowcoder.net/n/9dc81f8e17eb4e8bb218fafee0d65ac0