login
Number of Dyck paths of semilength n such that the maximal number of peaks per level equals three.
2

%I #12 Jun 22 2020 12:55:41

%S 1,1,9,29,112,405,1514,5565,20249,73416,265616,957677,3441282,

%T 12329838,44062706,157105923,559009643,1985301783,7038496811,

%U 24913917722,88058727525,310832221932,1095854282575,3859201682187,13576884290502,47719628447310,167579774234059

%N Number of Dyck paths of semilength n such that the maximal number of peaks per level equals three.

%H Alois P. Heinz, <a href="/A288744/b288744.txt">Table of n, a(n) for n = 3..1000</a>

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Lattice_path#Counting_lattice_paths">Counting lattice paths</a>

%e . T(4) = 1: /\/\/\

%e . / \ .

%p b:= proc(n, k, j) option remember; `if`(j=n, 1, add(

%p b(n-j, k, i)*add(binomial(i, m)*binomial(j-1, i-1-m),

%p m=max(0, i-j)..min(k, i-1)), i=1..min(j+k, n-j)))

%p end:

%p g:= proc(n, k) option remember; add(b(n, k, j), j=1..k) end:

%p a:= n-> g(n, 3)-g(n, 2):

%p seq(a(n), n=3..35);

%t b[n_, k_, j_]:=b[n, k, j]=If[j==n, 1, Sum[b[n - j, k, i] Sum[Binomial[i, m] Binomial[j - 1, i - 1 - m], {m, Max[0, i - j], Min[k, i - 1]}], {i, Min[j + k, n - j]}]]; g[n_, k_]:=Sum[b[n, k, j], {j, k}]; Table[g[n, 3] - g[n, 2], {n, 3, 35}] (* _Indranil Ghosh_, Aug 09 2017 *)

%o (Python)

%o from sympy.core.cache import cacheit

%o from sympy import binomial

%o @cacheit

%o def b(n, k, j): return 1 if j==n else sum(b(n - j, k, i)*sum(binomial(i, m)*binomial(j - 1, i - 1 - m) for m in range(max(0, i - j), min(k, i - 1) + 1)) for i in range(1, min(j + k, n - j) + 1))

%o def g(n, k): return sum(b(n, k, j) for j in range(1, k + 1))

%o def a(n): return g(n, 3) - g(n, 2)

%o print([a(n) for n in range(3, 36)]) # _Indranil Ghosh_, Aug 09 2017

%Y Column k=3 of A287822.

%Y Cf. A000108.

%K nonn

%O 3,3

%A _Alois P. Heinz_, Jun 14 2017