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