#include #include

using namespace std;

const int MOD = 998244353;

int main() { int n, m, p; cin >> n >> m >> p;

vector<int> A(m+n-1), B(m+n-1), C(n), D(m);
for (int i = 0; i < m+n-1; i++) {
    cin >> A[i];
}
for (int i = 0; i < m+n-1; i++) {
    cin >> B[i];
}
for (int i = 0; i < n; i++) {
    cin >> C[i];
}
for (int i = 0; i < m; i++) {
    cin >> D[i];
}

vector<vector<int>> dp(n+1, vector<int>(m+1));
dp[0][0] = 1;

for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
        int add = (dp[i-1][j-1] * p) % MOD;
        int stay = (dp[i-1][j] * (1-p)) % MOD;
        dp[i][j] = (add + stay) % MOD;
    }
}

vector<long long> ans(n);
for (int i = 0; i < n; i++) {
    for (int j = 0; j <= m; j++) {
        long long damage = ((long long)D[j] * dp[i][j]) % MOD;
        ans[i] = (ans[i] + damage) % MOD;
    }
}

for (int i = 0; i < n; i++) {
    for (int j = i+1; j < n; j++) {
        int increase = (C[j] - C[i] + MOD) % MOD;
        int damage = (ans[i] * A[increase-1]) % MOD;
        ans[j] = (ans[j] + damage) % MOD;
    }
}

for (int i = 0; i < n; i++) {
    cout << ans[i] << " ";
}

return 0;
链接:httpsacnowcodercomacmcontest57356J来源:牛客网You are right but Smoke God is a brand new open-world adventure game independently developed by Ding Zhenzhen The game takes place in a fantasy world called

原文地址: https://www.cveoy.top/t/topic/iePY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录