提交记录 13747
提交时间 |
评测时间 |
2020-08-06 12:28:39 |
2020-08-06 12:28:46 |
#include <bits/stdc++.h>
using namespace std;
void *mymove(void *dest, const void *src, size_t num) {
static unsigned tmp[66668];
memcpy(tmp, src, num);
memcpy(dest, tmp, num);
return dest;
}
unsigned solve(int n, char *s) {
int nsz = 1;
unsigned dp[66668] = {1};
for (int i = 0; i < n; ++i) {
int sz = min(i + 1, n - i - 1) / 2 + 1;
if (s[i] == '(') {
if (i & 1) {
mymove(dp + 1, dp, (sz - 1) * 4);
dp[0] = 0;
}
} else if (s[i] == ')') {
if (~i & 1) {
mymove(dp, dp + 1, sz * 4);
dp[sz] = 0;
}
} else {
if (i & 1) {
mymove(dp + 1, dp, sz * 4);
dp[0] = 0;
int i;
for (i = 0; i + 1 < nsz; i += 2) {
dp[i] += dp[i + 1];
dp[i + 1] += dp[i + 2];
}
for (; i < nsz; ++i) {
dp[i] += dp[i + 1];
}
dp[sz] = 0;
} else {
int i;
for (i = 0; i + 1 < sz; i += 2) {
dp[i] += dp[i + 1];
dp[i + 1] += dp[i + 2];
}
for (; i < sz; ++i) {
dp[i] += dp[i + 1];
}
dp[sz] = 0;
}
}
nsz = sz;
}
return dp[0];
}
Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
Testcase #1 | 128.35 us | 296 KB | Accepted | Score: 25 | 显示更多 |
Testcase #2 | 738.6 ms | 528 KB | Accepted | Score: 25 | 显示更多 |
Testcase #3 | 2.7 s | 736 KB | Accepted | Score: 25 | 显示更多 |
Testcase #4 | 3 s | 808 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2024-03-28 23:18:11 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用