%I #42 Aug 06 2024 00:02:42
%S 1,1,1,1,2,1,1,4,3,1,1,6,7,4,1,1,8,17,11,5,1,1,10,31,28,16,6,1,1,12,
%T 49,76,44,22,7,1,1,14,71,156,120,66,29,8,1,1,16,97,276,352,186,95,37,
%U 9,1,1,18,127,444,784,538,281,132,46,10,1,1,20,161,668,1504,1674,819,413,178,56,11,1
%N Triangular array T read by rows: T(n,0)=T(n,n)=1 for n >= 0; T(2,1)=2; for n >= 3 and 1<=k<=n-1, T(n,k) = T(n-1,k-1) + T(n-2,k-1) + T(n-1,k) if 1<=k<=(n-1)/2, else T(n,k) = T(n-1,k-1) + T(n-1,k).
%C T(n, k) is the number of paths from (0, 0) to (k,n-k) in the directed graph having vertices (i, j) (i and j in range [0,n]) and edges (i,j)-to-(i+1,j) and (i,j)-to-(i,j+1) for i,j>=0 and edges (i,i+h)-to-(i+1,i+h+1) for i>=0, h>=1.
%C Also, square array R read by antidiagonals where R(i,j) = T(i+j,i), which is equal to the number of paths from (0,0) to (i,j) in the above graph. - _Max Alekseyev_, Dec 02 2015
%H G. C. Greubel, <a href="/A026769/b026769.txt">Rows n = 0..100 of triangle, flattened</a>
%H M. A. Alekseyev. <a href="https://arxiv.org/abs/1601.06158">On Enumeration of Dyck-Schroeder Paths</a>. Journal of Combinatorial Mathematics and Combinatorial Computing 106 (2018), 59-68; arXiv:1601.06158 [math.CO], 2016-2018.
%F For n>=2*k, T(n,k) = coefficient of x^k in G(x)*S(x)^(n-2*k). For n<=2*k, T(n,k) = coefficient of x^(n-k) in G(x)*C(x)^(2*k-n). Here C(x)=(1-sqrt(1-4x))/(2*x) is o.g.f. for A000108, S(x)=(1-x - sqrt(1-6*x+x^2) )/(2*x) is o.g.f. for A006318, and G(x)=1/(1-x*(C(x)+S(x))) is o.g.f. for A026770. - _Max Alekseyev_, Dec 02 2015
%e Triangle begins as:
%e 1;
%e 1, 1;
%e 1, 2, 1;
%e 1, 4, 3, 1;
%e 1, 6, 7, 4, 1;
%e 1, 8, 17, 11, 5, 1;
%e 1, 10, 31, 28, 16, 6, 1;
%e 1, 12, 49, 76, 44, 22, 7, 1;
%e 1, 14, 71, 156, 120, 66, 29, 8, 1;
%e 1, 16, 97, 276, 352, 186, 95, 37, 9, 1;
%e 1, 18, 127, 444, 784, 538, 281, 132, 46, 10, 1;
%p A026769 := proc(n,k)
%p option remember;
%p if k= 0 or k =n then
%p 1;
%p elif n= 2 and k= 1 then
%p 2;
%p elif k <= (n-1)/2 then
%p procname(n-1,k-1)+procname(n-2,k-1)+procname(n-1,k) ;
%p else
%p procname(n-1,k-1)+procname(n-1,k) ;
%p fi ;
%p end proc: # _R. J. Mathar_, Jun 15 2014
%t T[n_, k_] := T[n, k] = Which[k==0 || k==n, 1, n==2 && k==1, 2, k <= (n-1)/2, T[n-1, k-1] + T[n-2, k-1] + T[n-1, k], True, T[n-1, k-1] + T[n-1, k]];
%t Table[T[n, k], {n, 0, 11}, {k, 0, n}] // Flatten (* _Jean-François Alcover_, Dec 10 2017, from Maple *)
%o (PARI) T(n,k) = if(k==0 || k==n, 1, if(n==2 && k==1, 2, if( k<=(n-1)/2, T(n-1,k-1) + T(n-2,k-1) + T(n-1,k), T(n-1,k-1) + T(n-1,k) )));
%o for(n=0,12, for(k=0,n, print1(T(n,k), ", "))) \\ _G. C. Greubel_, Oct 31 2019
%o (Sage)
%o @CachedFunction
%o def T(n, k):
%o if (k==0 or k==n): return 1
%o elif (n==2 and k==1): return 2
%o elif (k<=(n-1)/2): return T(n-1,k-1) + T(n-2,k-1) + T(n-1,k)
%o else: return T(n-1,k-1) + T(n-1,k)
%o [[T(n, k) for k in (0..n)] for n in (0..12)] # _G. C. Greubel_, Oct 31 2019
%o (GAP)
%o T:= function(n,k)
%o if k=0 or k=n then return 1;
%o elif (n=2 and k=1) then return 2;
%o elif (k <= Int((n-1)/2)) then return T(n-1,k-1)+T(n-2,k-1) +T(n-1,k);
%o else return T(n-1,k-1) + T(n-1,k);
%o fi;
%o end;
%o Flat(List([0..12], n-> List([0..n], k-> T(n,k) ))); # _G. C. Greubel_, Oct 31 2019
%Y Cf. A026770, A026771, A026772, A026773, A026774, A026775, A026776, A026777, A026779
%Y Cf. A026780 (a variant with h>=0)
%K nonn,tabl
%O 0,5
%A _Clark Kimberling_
%E Offset corrected by _R. J. Mathar_, Jun 15 2014
%E More terms added by _G. C. Greubel_, Oct 31 2019