%I #6 May 19 2024 03:16:56
%S 0,-1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
%T -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,1,-1,-1,
%U -1,-1,-1,2,-1,3,-1,-1,-1,4,-1,-1,-1,-1
%N Local ranking function for totally balanced binary sequences: if n's binary expansion is totally balanced (A080116(n)=1), then a(n) is its zero-based position among A000108((A000523(n)+1)/2) lexicographically ordered totally balanced binary sequences of the same width, otherwise -1.
%C Maple procedure CatalanRank is adapted from the algorithm 3.23 of the CAGES book.
%H D. L. Kreher and D. R. Stinson, <a href="https://web.archive.org/web/20031209184259/http://www.math.mtu.edu/~kreher/cages.html">Combinatorial Algorithms, Generation, Enumeration and Search</a>, CRC Press, 1998.
%e We have Cat(0)=1 totally balanced binary sequences of length 2*0: 0, thus a(0)=0, Cat(1)=1 of length 2*1: 10, thus a(2)=0, Cat(2)=2 of length 2*2: 1010 (= 10.) and 1100 (= 12.), thus a(10)=0 and a(12)=1, plus altogether Cat(3)=5 totally balanced binary sequences of length 2*3: 101010 (= 42), 101100 (= 44), 110010 (= 50), 110100 (= 52), 111000 (= 56), thus a(42)=0, a(44)=1, a(50)=2, a(52)=3 and a(56)=4. Et cetera.
%p A080301 := n -> `if`(0 = A080116(n),-1,CatalanRank((A000523(n)+1)/2,n));
%p CatalanRank := proc(n,aa) local y,r,lo,a; a := aa; r := 0; y := -1; lo := 0; while (a > 0) do if(0 = (a mod 2)) then r := r+1; lo := lo + A009766(r,y); else y := y+1; fi; a := floor(a/2); od; RETURN((binomial(2*n,n)/(n+1))-(lo+1)); end;
%Y Used to compute A080300. Cf. A009766, A000523.
%K sign
%O 0,51
%A _Antti Karttunen_, Feb 21 2003