A103293 Number of ways to color n regions arranged in a line such that consecutive regions do not have the same color.
1, 1, 1, 2, 4, 11, 32, 117, 468, 2152, 10743, 58487, 340390, 2110219, 13830235, 95475556, 691543094, 5240285139, 41432986588, 341040317063, 2916376237350, 25862097486758, 237434959191057, 2253358057283035, 22076003468637450, 222979436690612445
Offset: 0
Keywords
Examples
For n=4, possible arrangements are 'abab', 'abac', 'abca', 'abcd'; we do not include 'abcb' since it is equivalent to 'abac' (if you reverse and renormalize).
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..400
- Allan Bickle, How to Count k-Paths, J. Integer Sequences, 25 (2022) Article 22.5.6.
- Allan Bickle, A Survey of Maximal k-degenerate Graphs and k-Trees, Theory and Applications of Graphs 0 1 (2024) Article 5.
- Matthew Bolan, Jose Brox, Mario Carneiro, Martin Dvořák, Andrés Goens, Harald Husum, Zoltan Kocsis, Alex Meiburg, Pietro Monticone, David Renshaw, Jérémy Scanvic, Shreyas Srinivas, Terence Tao, Anand Rao Tadipatri, Vlad Tsyrklevich, Daniel Weber, and Fan Zheng, The equational theories project: using Lean and Github to complete an implication graph in universal algebra, Equational Theories Project 2024. See p. 41.
Crossrefs
Programs
-
Maple
with(combinat): b:= n-> coeff(series(exp((exp(2*x)-3)/2+exp(x)), x, n+1), x,n)*n!: a:= n-> `if`(n=0, 1, (bell(n-1) +`if`(modp(n,2)=1, b((n-1)/2), add(binomial(n/2-1,k) *b(k), k=0..n/2-1)))/2): seq(a(n), n=0..30); # Alois P. Heinz, Sep 05 2008
-
Mathematica
b[n_] := SeriesCoefficient[Exp[(Exp[2*x] - 3)/2 + Exp[x]], {x, 0, n}]*n!; a[n_] := If[n == 0, 1, (BellB[n - 1] + If[Mod[n, 2] == 1, b[(n - 1)/2], Sum[Binomial[n/2 - 1, k] *b[k], {k, 0, n/2 - 1}]])/2]; Table[a[n], {n, 0, 30}] (* Jean-François Alcover, Jan 17 2016, after Alois P. Heinz *) Ach[n_, k_] := Ach[n, k] = If[n<2, Boole[n==k && n>=0], k Ach[n-2, k] + Ach[n-2, k-1] + Ach[n-2, k-2]] (* achiral *) Table[Sum[(StirlingS2[n-1, k] + Ach[n-1, k])/2, {k, 0, n-1}], {n, 1, 30}] (* with a(0) omitted - Robert A. Russell, May 19 2018 *)
-
Python
from functools import lru_cache from sympy.functions.combinatorial.numbers import stirling def A103293(n): if n == 0: return 1 @lru_cache(maxsize=None) def ach(n,k): return (n==k) if n<2 else k*ach(n-2,k)+ach(n-2,k-1)+ach(n-2,k-2) return sum(stirling(n-1,k,kind=2)+ach(n-1,k)>>1 for k in range(n)) # Chai Wah Wu, Oct 15 2024
Formula
a(n) = Sum_{k=0..n-1} (Stirling2(n-1,k) + Ach(n-1,k))/2 for n>0, where Ach(n,k) = [n>1] * (k*Ach(n-2,k) + Ach(n-2,k-1) + Ach(n-2,k-2)) + [n<2 & n>=0 & n==k]. - Robert A. Russell, May 19 2018
Extensions
More terms from David W. Wilson, Mar 10 2005
Comments