题目信息

题目类型
提高级
题目年份
2019
题目题型
编程题
关 键 词
括号树

题目题干

括号树qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
题目背景qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
本题中**合法括号串**的定义如下:qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1.    `()` 是合法括号串。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2.    如果 `A` 是合法括号串,则 `(A)` 是合法括号串。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
3.    如果 `A`,`B` 是合法括号串,则 `AB` 是合法括号串。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
本题中**子串**与**不同的子串**的定义如下:qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1.    字符串 `S` 的子串是 `S` 中**连续**的任意个字符组成的字符串。`S` 的子串可用起始位置 $l$ 与终止位置 $r$ 来表示,记为 $S (l, r)$($1 \leq l \leq r \leq |S |$,$|S |$ 表示 S 的长度)。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2.    `S` 的两个子串视作不同**当且仅当**它们在 `S` 中的位置不同,即 $l$ 不同或 $r$ 不同。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
## 题目描述qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
一个大小为 $n$ 的树包含 $n$ 个结点和 $n - 1$ 条边,每条边连接两个结点,且任意两个结点间**有且仅有**一条简单路径互相可达。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
小 Q 是一个充满好奇心的小朋友,有一天他在上学的路上碰见了一个大小为 $n$ 的树,树上结点从 $1 \sim n$ 编号,$1$ 号结点为树的根。除 $1$ 号结点外,每个结点有一个父亲结点,$u$($2 \leq u \leq n$)号结点的父亲为 $f_u$($1 ≤ f_u < u$)号结点。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
小 Q 发现这个树的每个结点上**恰有**一个括号,可能是`(` 或`)`。小 Q 定义 $s_i$ 为:将根结点到 $i$ 号结点的简单路径上的括号,按结点经过顺序依次排列组成的字符串。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
 qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
显然 $s_i$ 是个括号串,但不一定是合法括号串,因此现在小 Q 想对所有的 $i$($1\leq i\leq n$)求出,$s_i$ 中有多少个**互不相同的子串**是**合法括号串**。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
 qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
这个问题难倒了小 Q,他只好向你求助。设 $s_i$ 共有 $k_i$ 个不同子串是合法括号串, 你只需要告诉小 Q 所有 $i \times k_i$ 的异或和,即:qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
$$ (1 \times k_1)\ \text{xor}\ (2 \times k_2)\ \text{xor}\ (3 \times k_3)\ \text{xor}\ \cdots\ \text{xor}\ (n \times k_n) $$qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
其中 $xor$ 是位异或运算。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
## 输入格式qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行一个整数 $n$,表示树的大小。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二行一个长为 $n$ 的由`(` 与`)` 组成的括号串,第 $i$ 个括号表示 $i$ 号结点上的括号。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第三行包含 $n − 1$ 个整数,第 $i$($1 \leq i \lt n$)个整数表示 $i + 1$ 号结点的父亲编号 $f_{i+1}$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
## 输出格式qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
仅一行一个整数表示答案。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
## 样例 #1qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
### 样例输入 #1qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
```qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
5qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(()()qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1 1 2 2qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
```qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
### 样例输出 #1qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
```qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
6qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
```qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
## 提示qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例解释1】qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
树的形态如下图:qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
括号树  题目背景  本题中**合法括号串**的定义如下: 1.    `()` 是合法括号串。 2.    如果 `A` 是合法括号串,则 `(A)` 是合法括号串。 3.    如果 `A`,`B` 是合法括号串,则 `AB` 是合法括号串。  本题中**子串**与**不同的子串**的定义如下: 1.    字符串 `S` 的子串是 `S` 中**连续**的任意个字符组成的字符串。`S` 的子串可用起始位置 $l$ 与终止位置 $r$ 来表示,记为 $S (l, r)$($1 \leq l \leq r \leq |S |$,$|S |$ 表示 S 的长度)。 2.    `S` 的两个子串视作不同**当且仅当**它们在 `S` 中的位置不同,即 $l$ 不同或 $r$ 不同。  ## 题目描述  一个大小为 $n$ 的树包含 $n$ 个结点和 $n - 1$ 条边,每条边连接两个结点,且任意两个结点间**有且仅有**一条简单路径互相可达。  小 Q 是一个充满好奇心的小朋友,有一天他在上学的路上碰见了一个大小为 $n$ 的树,树上结点从 $1 \sim n$ 编号,$1$ 号结点为树的根。除 $1$ 号结点外,每个结点有一个父亲结点,$u$($2 \leq u \leq n$)号结点的父亲为 $f_u$($1 ≤ f_u < u$)号结点。  小 Q 发现这个树的每个结点上**恰有**一个括号,可能是`(` 或`)`。小 Q 定义 $s_i$ 为:将根结点到 $i$ 号结点的简单路径上的括号,按结点经过顺序依次排列组成的字符串。   显然 $s_i$ 是个括号串,但不一定是合法括号串,因此现在小 Q 想对所有的 $i$($1\leq i\leq n$)求出,$s_i$ 中有多少个**互不相同的子串**是**合法括号串**。   这个问题难倒了小 Q,他只好向你求助。设 $s_i$ 共有 $k_i$ 个不同子串是合法括号串, 你只需要告诉小 Q 所有 $i \times k_i$ 的异或和,即: $$ (1 \times k_1)\ \text{xor}\ (2 \times k_2)\ \text{xor}\ (3 \times k_3)\ \text{xor}\ \cdots\ \text{xor}\ (n \times k_n) $$ 其中 $xor$ 是位异或运算。  ## 输入格式  第一行一个整数 $n$,表示树的大小。  第二行一个长为 $n$ 的由`(` 与`)` 组成的括号串,第 $i$ 个括号表示 $i$ 号结点上的括号。  第三行包含 $n − 1$ 个整数,第 $i$($1 \leq i \lt n$)个整数表示 $i + 1$ 号结点的父亲编号 $f_{i+1}$。  ## 输出格式  仅一行一个整数表示答案。  ## 样例 #1  ### 样例输入 #1  ``` 5 (()() 1 1 2 2 ```  ### 样例输出 #1  ``` 6 ```  ## 提示  【样例解释1】  树的形态如下图:  ​​​​​​​  将根到 1 号结点的简单路径上的括号,按经过顺序排列所组成的字符串为 `(`,子串是合法括号串的个数为 $0$。  将根到 2 号结点的字符串为 `((`,子串是合法括号串的个数为 $0$。  将根到 3 号结点的字符串为 `()`,子串是合法括号串的个数为 $1$。  将根到 4 号结点的字符串为 `(((`,子串是合法括号串的个数为 $0$。  将根到 5 号结点的字符串为 `(()`,子串是合法括号串的个数为 $1$。  【数据范围】qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
将根到 1 号结点的简单路径上的括号,按经过顺序排列所组成的字符串为 `(`,子串是合法括号串的个数为 $0$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
将根到 2 号结点的字符串为 `((`,子串是合法括号串的个数为 $0$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
将根到 3 号结点的字符串为 `()`,子串是合法括号串的个数为 $1$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
将根到 4 号结点的字符串为 `(((`,子串是合法括号串的个数为 $0$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
将根到 5 号结点的字符串为 `(()`,子串是合法括号串的个数为 $1$。qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【数据范围】qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
qqB100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
括号树  题目背景  本题中**合法括号串**的定义如下: 1.    `()` 是合法括号串。 2.    如果 `A` 是合法括号串,则 `(A)` 是合法括号串。 3.    如果 `A`,`B` 是合法括号串,则 `AB` 是合法括号串。  本题中**子串**与**不同的子串**的定义如下: 1.    字符串 `S` 的子串是 `S` 中**连续**的任意个字符组成的字符串。`S` 的子串可用起始位置 $l$ 与终止位置 $r$ 来表示,记为 $S (l, r)$($1 \leq l \leq r \leq |S |$,$|S |$ 表示 S 的长度)。 2.    `S` 的两个子串视作不同**当且仅当**它们在 `S` 中的位置不同,即 $l$ 不同或 $r$ 不同。  ## 题目描述  一个大小为 $n$ 的树包含 $n$ 个结点和 $n - 1$ 条边,每条边连接两个结点,且任意两个结点间**有且仅有**一条简单路径互相可达。  小 Q 是一个充满好奇心的小朋友,有一天他在上学的路上碰见了一个大小为 $n$ 的树,树上结点从 $1 \sim n$ 编号,$1$ 号结点为树的根。除 $1$ 号结点外,每个结点有一个父亲结点,$u$($2 \leq u \leq n$)号结点的父亲为 $f_u$($1 ≤ f_u < u$)号结点。  小 Q 发现这个树的每个结点上**恰有**一个括号,可能是`(` 或`)`。小 Q 定义 $s_i$ 为:将根结点到 $i$ 号结点的简单路径上的括号,按结点经过顺序依次排列组成的字符串。   显然 $s_i$ 是个括号串,但不一定是合法括号串,因此现在小 Q 想对所有的 $i$($1\leq i\leq n$)求出,$s_i$ 中有多少个**互不相同的子串**是**合法括号串**。   这个问题难倒了小 Q,他只好向你求助。设 $s_i$ 共有 $k_i$ 个不同子串是合法括号串, 你只需要告诉小 Q 所有 $i \times k_i$ 的异或和,即: $$ (1 \times k_1)\ \text{xor}\ (2 \times k_2)\ \text{xor}\ (3 \times k_3)\ \text{xor}\ \cdots\ \text{xor}\ (n \times k_n) $$ 其中 $xor$ 是位异或运算。  ## 输入格式  第一行一个整数 $n$,表示树的大小。  第二行一个长为 $n$ 的由`(` 与`)` 组成的括号串,第 $i$ 个括号表示 $i$ 号结点上的括号。  第三行包含 $n − 1$ 个整数,第 $i$($1 \leq i \lt n$)个整数表示 $i + 1$ 号结点的父亲编号 $f_{i+1}$。  ## 输出格式  仅一行一个整数表示答案。  ## 样例 #1  ### 样例输入 #1  ``` 5 (()() 1 1 2 2 ```  ### 样例输出 #1  ``` 6 ```  ## 提示  【样例解释1】  树的形态如下图:  ​​​​​​​  将根到 1 号结点的简单路径上的括号,按经过顺序排列所组成的字符串为 `(`,子串是合法括号串的个数为 $0$。  将根到 2 号结点的字符串为 `((`,子串是合法括号串的个数为 $0$。  将根到 3 号结点的字符串为 `()`,子串是合法括号串的个数为 $1$。  将根到 4 号结点的字符串为 `(((`,子串是合法括号串的个数为 $0$。  将根到 5 号结点的字符串为 `(()`,子串是合法括号串的个数为 $1$。  【数据范围】

答案解析

相关题目

树上的数 题目描述 给定一个大小为 $n$ 的树,它共有 $n$ 个结点与 $n - 1$ 条边,结点从 $1 \sim n$ 编号。初始时每个结点上都有一个 $1 \sim n$ 的数字,且每
括号树 题目背景 本题中**合法括号串**的定义如下: 1.    `()` 是合法括号串。 2.    如果 `A` 是合法括号串,则 `(A)` 是合法括号串。 3.    如果 `A`,`B
格雷码 题目描述 通常,人们习惯将所有 $n$ 位二进制串按照字典序排列,例如所有 2 位二进制串按字典序从小到大排列为:00,01,10,11。 格雷码(Gray Code)是一种特殊的 $n
树的重心 题目描述 小简单正在学习离散数学,今天的内容是图论基础,在课上他做了如下两条笔记: 1. 一个大小为 $n$ 的树由 $n$ 个结点与 $n - 1$ 条无向边构成,且满足任意两个结点间*
划分 题目描述 2048 年,第三十届 CSP 认证的考场上,作为选手的小明打开了第一题。这个题的样例有 $n$ 组数据,数据从 $1 \sim n$ 编号,$i$ 号数据的规模为 $a_i$。
Emiya 家今天的饭 题目描述 Emiya 是个擅长做菜的高中生,他共掌握 $n$ 种**烹饪方法**,且会使用 $m$ 种**主要食材**做菜。为了方便叙述,我们对烹饪方法从 $1 \sim
贪吃蛇(snakes) 题目描述 草原上有 $n$ 条蛇,编号分别为 $1, 2, \ldots , n$。初始时每条蛇有一个体力值 $a_i$,我们称编号为 $x$ 的蛇实力比编号为 $y$ 的
函数调用(cal) 题目描述 函数是各种编程语言中一项重要的概念,借助函数,我们总可以将复杂的任务分解成一个个相对简单的子任务,直到细化为十分简单的基础操作,从而使代码的组织更加严密、更加有条理。
动物园(zoo) 题目描述 动物园里饲养了很多动物,饲养员小 A 会根据饲养动物的情况,按照《饲养指南》购买不同种类的饲料,并将购买清单发给采购员小 B。  具体而言,动物世界里存在 $2^k$
儒略日(julian) 题目描述 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒略日,其定义为从**公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢