提交记录 13693


用户 题目 状态 得分 用时 内存 语言 代码长度
15iq wc2017b3. 【WC2017】挑战-任务3 Wrong Answer 0 3 s 1072 KB C++11 814 B
提交时间 评测时间
2020-08-06 02:06:28 2020-08-06 02:06:35
#include <bits/stdc++.h>

using namespace std;

void add_n(const unsigned *a, int n, unsigned *b) {
  int i = 0;
  for (; i < n - 1; i += 2) {
    b[i] += a[i];
    b[i + 1] += a[i + 1];
  }
  for (i = n - n % 2; i < n; ++i) {
    b[i] += a[i];
  }
}

unsigned solve(int n, char *s) {
  int nsz = 1;
  unsigned *dp = new unsigned[n / 2 + 1]();
  unsigned *pd = new unsigned[n / 2 + 1];
  dp[0] = 1;
  for (int i = 0; i < n; ++i) {
    int sz = min(i + 1, n - i - 1) / 2 + 1;
    if (s[i] != ')') {
      if (i & 1) {
        copy_n(dp, sz - 1, pd + 1);
        pd[0] = 0;
      } else {
        copy_n(dp, sz, pd);
      }
    }
    if (s[i] != '(') {
      if (i & 1) {
        add_n(dp, nsz, pd);
      } else {
        add_n(dp + 1, nsz, pd);
      }
    }
    swap(pd, dp);
    nsz = sz;
  }
  return dp[0];
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1125.16 us32 KBWrong AnswerScore: 0

Testcase #2914.813 ms500 KBWrong AnswerScore: 0

Testcase #33 s908 KBTime Limit ExceededScore: 0

Testcase #43 s1 MB + 48 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-23 22:27:07 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠