关于空间
查看原帖
关于空间
832472
yishanyi楼主2025/1/23 12:04

{1,2,3}\{1, 2, 3\}所有前缀的总数应该是不超过nn的,理论上开到N=20N=20就够了,但为什么我开到2121才能过

const int N = 21, Mod = 1e9 + 7;
int T, n, s;
long long dp[2][N][N][N][N][N][N];

for (int a = 0; a <= n; a++)
    for (int b = 0; b <= n - a; b++)
        for (int c = 0; c <= n - a - b; c++)
            for (int d = 0; d <= n - a - b - c; d++)
                for (int e = 0; e <= n - a - b - c - d; e++)
                    for (int f = 0; f <= n - a - b - c - d - e; f++) {
                        dp[i & 1][a][b][c][d][e][f] = 0;
                        if (s == 1 || s == 0) dp[i & 1][a][b][c][d][e][f] = (dp[i & 1][a][b][c][d][e][f] + (a == 0 ? 0 : dp[(i - 1) & 1][a - 1][b][c][d][e][f]) + (e == 0 ? 0 : (dp[(i - 1) & 1][a][b + 1][c][d][e - 1][f] * (b + 1)) % Mod) + (dp[(i - 1) & 1][a][b][c][d][e][f + 1] * (f + 1)) % Mod);
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] -= Mod;
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] %= Mod;
                        if (s == 2 || s == 0) dp[i & 1][a][b][c][d][e][f] = (dp[i & 1][a][b][c][d][e][f] + (b == 0 ? 0 : dp[(i - 1) & 1][a][b - 1][c][d][e][f]) + (f == 0 ? 0 : (dp[(i - 1) & 1][a][b][c + 1][d][e][f - 1] * (c + 1)) % Mod) + (dp[(i - 1) & 1][a][b][c][d + 1][e][f] * (d + 1)) % Mod);
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] -= Mod;
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] %= Mod;
                        if (s == 3 || s == 0) dp[i & 1][a][b][c][d][e][f] = (dp[i & 1][a][b][c][d][e][f] + (c == 0 ? 0 : dp[(i - 1) & 1][a][b][c - 1][d][e][f]) + (d == 0 ? 0 : (dp[(i - 1) & 1][a + 1][b][c][d - 1][e][f] * (a + 1)) % Mod) + (dp[(i - 1) & 1][a][b][c][d][e + 1][f] * (e + 1)) % Mod);
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] -= Mod;
                        if (dp[i & 1][a][b][c][d][e][f] >= Mod) dp[i & 1][a][b][c][d][e][f] %= Mod;
                    }
2025/1/23 12:04
加载中...