[题解] f[i][j]表示最后一个数为h[i],公差为j的等差数列的个数.n方枚举最后一个数和倒数第二个数转移即可.注意公差可能为负数,需要移动为正数再作为下标. #include<cstdio> #include<cstring> #include<algorithm> #define LL long long #define rg register #define N 1010 #define Mod (998244353) #define P (20000) u…
常规线性dp,需要时就加一维.\(dp[i][j][t][s]\)表示在点\((i,j)\)时瓶子里剩\(t\)且为\(s\)走(0代表小a,1代表uim)时的方案数. de了半天发现是初次尝试的快速取模少写个等号--然鹅改了以后为什么比正常写跑得慢-- #include <cstdio> const int mod = 1e9 + 7; int n, m, k, ans; int a[805][805], dp[805][805][20][2]; void add(int &x, i…