A335454 Number of normal patterns matched by the n-th composition in standard order (A066099).
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 5, 3, 6, 5, 5, 2, 3, 3, 5, 3, 5, 6, 7, 3, 6, 5, 9, 5, 9, 7, 6, 2, 3, 3, 5, 3, 4, 5, 7, 3, 5, 4, 7, 5, 10, 9, 9, 3, 6, 5, 9, 4, 9, 10, 12, 5, 9, 7, 13, 7, 12, 9, 7, 2, 3, 3, 5, 3, 4, 5, 7, 3, 5, 5, 7, 6, 10, 9, 9, 3, 5, 6, 8, 5
Offset: 0
Examples
The a(n) patterns for n = 0, 1, 3, 7, 11, 13, 23, 83, 27, 45: 0: 1: 11: 111: 211: 121: 2111: 2311: 1211: 2121: --------------------------------------------------------------------- () () () () () () () () () () (1) (1) (1) (1) (1) (1) (1) (1) (1) (11) (11) (11) (11) (11) (11) (11) (11) (111) (21) (12) (21) (12) (12) (12) (211) (21) (111) (21) (21) (21) (121) (211) (211) (111) (121) (2111) (231) (121) (211) (2311) (211) (212) (1211) (221) (2121)
Links
- John Tyler Rascoe, Table of n, a(n) for n = 0..8192
- Wikipedia, Permutation pattern
- Gus Wiseman, Statistics, classes, and transformations of standard compositions
- Gus Wiseman, Sequences counting and ranking compositions by the patterns they match or avoid.
Crossrefs
References found in the links are not all included here.
Summing over indices with binary length n gives A335456(n).
The contiguous case is A335458.
The version for Heinz numbers of partitions is A335549.
The n-th composition has A124771(n) distinct consecutive subsequences.
The n-th composition has A333257(n) distinct subsequence-sums.
The n-th composition has A334299(n) distinct subsequences.
Minimal avoided patterns are counted by A335465.
Programs
-
Mathematica
stc[n_]:=Reverse[Differences[Prepend[Join@@Position[Reverse[IntegerDigits[n,2]],1],0]]]; mstype[q_]:=q/.Table[Union[q][[i]]->i,{i,Length[Union[q]]}]; Table[Length[Union[mstype/@Subsets[stc[n]]]],{n,0,30}]
-
Python
from itertools import combinations def comp(n): # see A357625 return def A335465(n): A,B,C = set(),set(),comp(n) c = range(len(C)) for j in c: for k in combinations(c, j): A.add(tuple(C[i] for i in k)) for i in A: D = {v: rank + 1 for rank, v in enumerate(sorted(set(i)))} B.add(tuple(D[v] for v in i)) return len(B)+1 # John Tyler Rascoe, Mar 12 2025
Comments