

A246559


List of onesided polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A000988.


5



0, 1, 3, 7, 11, 15, 23, 27, 30, 39, 54, 75, 31, 47, 55, 62, 79, 91, 94, 143, 181, 182, 188, 203, 286, 314, 406, 551, 566, 1099, 63, 95, 111, 126, 159, 175, 183, 189, 190, 207, 219, 221, 222, 252, 287, 303, 315, 318, 347, 350, 378, 407, 413, 476, 504
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,3


COMMENTS

The binary coding (as suggested in a post to the SeqFan list by F. T. AdamsWatters) is obtained by summing the powers of 2 corresponding to the numbers covered by the polyomino, when the points of the quarterplane 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 nomino is the sum 2^0+...+2^(n1) = 2^n1 = A000225(n), and the largest value, obtained for the straight nomino (in x direction), is 2^0+2^1+2^3+...+2^A000217(n1) = A181388(n1).


LINKS

John Mason, Table of n, a(n) for n = 1..46575
F. T. AdamsWatters, 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" 0omino 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 onesided triominoes 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

See A246521 and A246533 for enumeration of free and fixed polyominoes.
Sequence in context: A022800 A071849 A165197 * A246521 A160785 A095100
Adjacent sequences: A246556 A246557 A246558 * A246560 A246561 A246562


KEYWORD

nonn


AUTHOR

M. F. Hasler, Aug 29 2014


STATUS

approved



