解题思路
本题中,有 26 种颜色的彩珠,每种数量已知。目标是在一条直线上尽可能多地摆放彩珠,且相邻两颗颜色不同。设所有彩珠总数为 S,数量最多的那种彩珠的个数为 M。
为了满足“相邻不同色”,最困难的部分是处理数量最多的那种颜色。我们需要利用其他颜色的彩珠将它们隔开:
- 如果把 M 个同色珠子放在一排,至少需要在它们之间插入 M−1 个“隔板”(即其他颜色的珠子),才能保证它们不相邻。
- 除最多颜色外,其余彩珠的总数为 S−M。如果 S−M≥M−1,意味着其他珠子足够充当隔板,所有 S 颗珠子都能用上,答案为 S。
- 否则,其他珠子不够完全隔开最多颜色的珠子。此时最多能使用的珠子数为:先将所有其他颜色珠子用完(共 S−M 个),然后在它们之间以及两端插入最多颜色的珠子,每个空隙放一个,最终可放入 S−M+1 个同色珠子(因为 S−M 个珠子能形成 S−M+1 个可插入位置)。因此总长度为 (S−M)+(S−M+1)=2(S−M)+1。