OFFSET

1,3

COMMENTS

The binary coding (as suggested in a post to the SeqFan list by F. T. Adams-Watters) is obtained by summing the powers of 2 corresponding to the numbers covered by the polyomino, when the points of the quarter-plane are numbered by antidiagonals, and the animal is pushed to both borders as to obtain the smallest possible value. See example for further details.

LINKS

John Mason, Table of n, a(n) for n = 1..50149

F. T. Adams-Watters, Re: Sequence proposal by John Mason, SeqFan list, Aug 24 2014

EXAMPLE

Number the points of the first quadrant as follows:

...

9 ...

5 8 ...

2 4 7 ...

0 1 3 6 10 ...

The "empty" 0-omino is represented by the empty sum equal to 0 = a(1).

The monomino is represented by a square on 0, and the binary code 2^0 = 1 = a(2).

The two fixed dominos are ".." and ":", represented by 2^0+2^1 = 3 = a(3) and 2^0+2^2 = 5 = a(4).

The A001168(3) = 6 fixed trominoes are represented by 2^0+2^1+2^3 = 11 (...), 2^0+2^1+2^2 = 7 (:.), 2^0+2^1+2^4 =19 (.:), ..., 2^0+2^2+2^5 = 37; again these 6 values are listed in increasing size as a(5), ..., a(10).

PROG

(PARI) grow(L, N=[], D=[[1, 0], [0, 1], [-1, 0], [0, -1]])={ for(i=1, #L, for(j=1, #P=L[i], for(k=1, #P, for(d=1, #D, vecmin(P[k]+D[d])<0 && P-=vector(#P, i, D[d])/*shift if needed*/; !setsearch(P, P[k]+D[d]) && N=setunion([setunion([P[k]+D[d]], P)], N); P!=L[i] && P+=vector(#P, i, D[d])/*undo...*/)))); if(N, N, [[[0, 0]]])}

p2n(P)=sum(i=1, #P, 2^(P[i][2]+A000217(P[i][1]+P[i][2])))

for(i=0, 5, print(vecsort(apply(p2n, L=if(i, grow(L), [[]])))))

CROSSREFS

KEYWORD

nonn

AUTHOR

M. F. Hasler, Aug 28 2014

STATUS

approved