提出 #4314570
ソースコード 拡げる
#include "iostream"
#include "climits"
#include "list"
#include "queue"
#include "stack"
#include "set"
#include "functional"
#include "algorithm"
#include "string"
#include "map"
#include "unordered_map"
#include "unordered_set"
#include "iomanip"
#include "cmath"
#include "random"
#include "bitset"
#include "cstdio"
#include "numeric"
#include "cassert"
using namespace std;
const long long int MOD = 1000000007;
//const int MOD = 998244353;
long long int N, M, K, H, W, L, R;
//int N, M, K, H, W, L, R
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> N >> K;
vector<vector<long long int>>dp(N + 1, vector<long long int>(N + 1));
vector<long long int>by(N + 1,1);
for (int i = 1; i <= N; i++) {
by[i] = by[i - 1] * 2;
by[i] %= MOD;
}
dp[0][0] = 1;
for (int i = 1; i <= N; i++) {
for (int j = i; j < min(N + 1, i + K); j++) {
dp[i][j] = dp[i - 1][j];
}
if (i + K <= N) {
for (int k = i - 1; k < i + K; k++) {
dp[i][i + K] += dp[i - 1][k] * by[i + K - i - K];
dp[i][i + K] %= MOD;
}
for (int j = i + K + 1; j <= N; j++) {
dp[i][j] = dp[i][j - 1] * 2;
dp[i][j] %= MOD;
dp[i][j] += dp[i - 1][j - 1] * by[j - i - K];
dp[i][j] %= MOD;
}
}
for (int j = i + K; j <= N; j++) {
dp[i][j] += dp[i - 1][j] * by[j - i - K + 1];
dp[i][j] %= MOD;
}
}
cout << dp.back().back() << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Erasure |
| ユーザ | olphe |
| 言語 | C++14 (GCC 5.4.1) |
| 得点 | 700 |
| コード長 | 1441 Byte |
| 結果 | AC |
| 実行時間 | 246 ms |
| メモリ | 195840 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 700 / 700 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample-01.txt, sample-02.txt, sample-03.txt |
| All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01-01.txt | AC | 1 ms | 256 KiB |
| 01-02.txt | AC | 70 ms | 54784 KiB |
| 01-03.txt | AC | 16 ms | 12288 KiB |
| 01-04.txt | AC | 146 ms | 117760 KiB |
| 01-05.txt | AC | 105 ms | 116096 KiB |
| 01-06.txt | AC | 104 ms | 182912 KiB |
| 01-07.txt | AC | 246 ms | 195840 KiB |
| 01-08.txt | AC | 244 ms | 195840 KiB |
| 01-09.txt | AC | 229 ms | 195840 KiB |
| 01-10.txt | AC | 221 ms | 195840 KiB |
| 01-11.txt | AC | 110 ms | 195840 KiB |
| sample-01.txt | AC | 1 ms | 256 KiB |
| sample-02.txt | AC | 1 ms | 256 KiB |
| sample-03.txt | AC | 241 ms | 195840 KiB |