NTT循环卷积 30分: 可以发现这是一个很明显的分层$DP$,设$dp[i][j]$表示当前走了j步走到i号节点的方案数.如果当前走的步数对节点有限制就直接将这个点的$DP$值赋成$0$ #include <bits/stdc++.h> #define mod 998244353 #define ll long long using namespace std; const int N=1e5+100,M=21; int n,l,m,k,x[M],y[M],a[N]; inline void…