OFFSET

0,5

COMMENTS

T(n,k) is the number of binary bitonic words of length n having k letters 1.

Draw a circular rosette such that all the circles contain the rosette's center. Then T(n,k) is also the number of regions in the plane located inside k circles. In fact, a region can be encoded by a binary bitonic word as follows: label each circle from 1 to n in clockwise or counterclockwise order, then write a length n binary word such that the i-th letter indicates whether the concerned region does (write 1) or does not (write 0) lie inside the i-th circle.

Row n is a partition of A014206(n-1) for n > 0.

LINKS

N. Alon, H. Last, R. Pinchasi and M. Sharir, On the complexity of arrangements of circles in the plane, Discrete Comput. Geom. Vol. 26 (2001), 465-492.

K. E. Batcher, Sorting networks and their applications, Proceed. AFIPS Spring Joint Comput. Conf. 32 (1968), 307-314.

W. Denton, Intersecting circles.

H. W. Lang, Bitonic sequences.

F. Ramaharo, Enumerating the states of the twist knot, arXiv:1712.06543 [math.CO], 2017.

Franck Maminirina Ramaharo, Illustration of initial terms

P. Rosin, Rosettes and other arrangements of circles, Nexus Network Journal Vol. 3 (2001), 113-126.

Eric Weisstein's World of Mathematics, Plane Division by Circles.

FORMULA

The n-th row are the coefficients in the expansion of 1 + x^n + n*x*(1 - x^(n - 1))/(1 - x), n > 0.

G.f. for column k > 0: (((1 - k)*x^2 - (1 - k)*x + 1)*x^k)/(x - 1)^2.

T(n+1,n-k) - n + k = A128227(n,k).

EXAMPLE

Triangle begins:

n\k| 0 1 2 3 4 5 6 7 8

---+--------------------------

0 | 1

1 | 1 1

2 | 1 2 1

3 | 1 3 3 1

4 | 1 4 4 4 1

5 | 1 5 5 5 5 1

6 | 1 6 6 6 6 6 1

7 | 1 7 7 7 7 7 7 1

8 | 1 8 8 8 8 8 8 8 1

...

For n = 5, the binary bitonic words are

(k = 0) 00000;

(k = 1) 10000, 01000, 00100, 00010, 00001;

(k = 2) 11000, 01100, 00110, 00011, 10001;

(k = 3) 11100, 01110, 00111, 10011, 11001;

(k = 4) 11110, 01111, 10111, 11011, 11101;

(k = 5) 11111.

MATHEMATICA

Table[If[k == n || k == 0, 1, n], {n, 0, 20}, {k, 0, n}] // Flatten

PROG

(Maxima)

T(n, k) := if k = 0 or k = n then 1 else if k < n then n else 0$

for n:0 thru 10 do print(makelist(T(n, k), k, 0, n));

(PARI) T(n, k) = if ((k==0) || (k==n), 1, n);

tabl(nn) = for (n=0, nn, for (k=0, n, print1(T(n, k), ", ")); print); \\ Michel Marcus, Aug 25 2018

CROSSREFS

KEYWORD

AUTHOR

Franck Maminirina Ramaharo, Aug 23 2018

STATUS

approved