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..46575
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 dominos ".." and ":" would be represented by 2^0+2^1 = 3 and 2^0+2^2 = 5. Since they are equivalent up to rotation, only 3 = a(3) is listed.
The A000988(3) = 2 one-sided trominoes are represented by 2^0+2^1+2^3 = 11 (...) and 2^0+2^1+2^2 = 7 (:.). Again these values are listed in increasing size as a(4) and a(5).
PROG
(PARI) rot(P, T=[0, 1; -1, 0])=P=Set(apply(x->x*T, P)); apply(x->x-[P[1][1], 0], P)
onesided(L, N=apply(p2n, L))={ local(L=L, R=apply(P->setsearch(L, rot(P)), L), cleanup(i)=my(m=N[i]); while(m!=N[i=R[i]], if( m>N[i], m=N[i], L[i]=0))); for(i=1, #L, L[i] && cleanup(i)); if(#L>1, select(P->P, L), L)}
for(i=0, 5, print(Set(apply(p2n, onesided(L=if(i, grow(L), [[]])))))) \\ see A246533 for grow() and p2n()
CROSSREFS
KEYWORD
nonn
AUTHOR
M. F. Hasler, Aug 29 2014
STATUS
approved