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
(Python)
from math import isqrt
def A318274(n): return 1 if 0<=(k:=n+1<<1)-(r:=(m:=isqrt(k))*(m+1))<=2 else m-(k<=r) # Chai Wah Wu, Nov 09 2024
CROSSREFS
KEYWORD
AUTHOR
Franck Maminirina Ramaharo, Aug 23 2018
STATUS
approved