login
A246533
List of fixed polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A001168.
3
0, 1, 3, 5, 7, 11, 19, 21, 22, 37, 15, 23, 27, 30, 39, 53, 54, 75, 139, 147, 149, 150, 156, 275, 277, 278, 293, 306, 549, 31, 47, 55, 62, 79, 91, 94, 143, 151, 155, 157, 158, 181, 182, 188, 203, 220, 279, 283, 286, 295, 307, 309, 310, 314, 403, 405, 406, 412, 434, 440
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.
The smallest value for an n-omino is the sum 2^0+...+2^(n-1) = 2^n-1 = A000225(n), and the largest value, obtained for the straight n-omino in y direction, is 2^0+2^2+2^5+...+2^(A000217(n)-1) = A246534(n).
LINKS
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
See A246521 and A246559 for enumeration of free and one-sided polyominoes.
Sequence in context: A119573 A001366 A093329 * A111052 A138536 A093929
KEYWORD
nonn
AUTHOR
M. F. Hasler, Aug 28 2014
STATUS
approved