OFFSET
0,2
COMMENTS
Number of lattice paths of weight n that start in (0,0), end on the horizontal axis, never go below this axis, whose steps are of the following four kinds: h=(1,0) of weight 1, H=(1,0) of weight 2, u=(1,1) of weight 1, and d=(1,-1) of weight 0; the weight of a path is the sum of the weights of its steps. Example: a(2)=7 because we have hh, H, hud, udh, udud, uhd, and uudd. - Emeric Deutsch, Sep 09 2014
LINKS
Alois P. Heinz, Table of n, a(n) for n = 0..1000
J. P. S. Kung and A. de Mier, Catalan lattice paths with rook, bishop and spider steps, Journal of Combinatorial Theory, Series A 120 (2013) 379-389. - From N. J. A. Sloane, Dec 27 2012
FORMULA
G.f.: (1 - x - x^2 - sqrt(x^4 + 2*x^3 - x^2 - 6*x + 1))/(2*x). - Mark van Hoeij, Apr 16 2013
G.f.: 1/(1 - x*(1 + x + 1/(1 - x*(1 + x + 1/...)))). - Michael Somos, Mar 30 2014
G.f. g = g(x) satisfies g = 1 + x*g + x^2*g + x*g^2. - Emeric Deutsch, Sep 09 2014
a(n) = Sum_{k=0..n} ((C(k)*Sum_{j=0..k+1} (binomial(k+1,j)*Sum_{i=0..n-k} (3^(j-i)*binomial(j,i)*binomial(k-j+1,n-3*k+2*j-i-2)*2^(2*(k-j)-n+1)*(-1)^(k-j+1))))), a(0)=1, a(1)=2, where C(k) = A000108(k). - Vladimir Kruchinin, Mar 01 2016
a(0) = 1, a(1) = 2; a(n) = 2 * a(n-1) + 3 * a(n-2) + Sum_{k=2..n-1} a(k) * a(n-k-1). - Ilya Gutkovskiy, Jul 20 2021
G.f.: 1/G(0), where G(k) = 1 - (2*x+x^2)/(1-x/G(k+1)) (continued fraction). - Nikolaos Pantelidis, Jan 08 2023
EXAMPLE
a(2)=7 because we can reach (2,2) in the following ways:
(1,0),(1,0),(0,1),(0,1);
(1,0),(0,1),(1,0),(0,1);
(1,0),(0,1),(1,1);
(1,0),(1,1),(0,1);
(1,1),(1,0),(0,1);
(1,1),(1,1);
(2,2).
G.f. = 1 + 2*x + 7*x^2 + 27*x^3 + 116*x^4 + 532*x^5 + 2554*x^6 + ...
PROG
(Sage)
n=20
M=[]
for posx in range(0, n+1):
for posy in range(0, n+1):
if posx==0:
if posy==0:
M.append([1])
else:
M.append([0])
else:
if posy==0:
M[0].append(0)
M[0][posx]=M[0][posx]+M[0][posx-1]
else:
if posy>posx:
M[posy].append(0)
else:
M[posy].append(0)
M[posy][posx]=M[posy][posx-1]+M[posy][posx]
M[posy][posx]=M[posy-1][posx]+M[posy][posx]
for r in range(1, min(posx, posy, 2)+1):
M[posy][posx]=M[posy-r][posx-r]+M[posy][posx]
L=[]
for k in range(0, n+1):
L.append(M[k][k])
print(L)
(Maxima)
a(n):=if n<2 then n+1 else sum((binomial(2*k, k)*sum(binomial(k+1, j)*sum(3^(j-i)*binomial(j, i)*binomial(k-j+1, n-3*k+2*j-i-2)*(2)^(-n+2*(k-j)+1)*(-1)^(k-j+1), i, 0, n-k), j, 0, k+1))/(k+1), k, 0, n); /* Vladimir Kruchinin, Mar 01 2016 */
CROSSREFS
KEYWORD
nonn
AUTHOR
Eric Werley, Dec 06 2010
STATUS
approved