1987:【20CSPS提高组】括号树P5658 [CSP-S2019] 括号树
- 题干
题目分析
- emmm…NOIP2020 考完后在写
- 要用栈
- 考完了,然而思路忘的一干二净 ——2021.1.29
- 好了,话不多说 明明说了好多 ,我犯懒了,自己看代码吧
代码
#include<bits/stdc++.h>
using namespace std;
int n,f[500001],sum1,sum2,l[500001];
long long ans,sum[500001],dis[500001];
char a[500001];
vector<int>s[500001];
inline int read(){int k=0,k1=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-') k1=-1;ch=getchar(); }while(isdigit(ch)){k=(k<<3)+(k<<1)+(ch^48);ch=getchar();}return k*k1;
}
inline void jqsh(int t){int q=sum1,o=0;if(a[t]=='(') l[++sum1]=t;else if(sum1&&a[t]==')'){o=l[sum1];dis[t]=dis[f[o]]+1;sum1--;}sum[t]=sum[f[t]]+dis[t];for(int i=0;i<s[t].size();i++)jqsh(s[t][i]);sum1=q;if(o) l[sum1]=o;return;
}
int main(){n=read();scanf("%s",a+1);f[1]=1;for(int i=2;i<=n;i++){f[i]=read();s[f[i]].push_back(i);} jqsh(1);for(long long i=1;i<=n;i++)ans=ans^(i*sum[i]);printf("%lld\n",ans);return 0;
}
1987:【20CSPS提高组】括号树P5658 [CSP-S2019] 括号树相关推荐
- [NOI Online 2022 提高组] 丹钓战(单调栈 + 树状数组 / 主席树)
problem luogu-P8251 solution 按照题意模拟单调栈. 求出对于 iii 而言,当时单调栈的栈顶元素记为 pip_ipi. 如果到 iii 时,栈顶已经为 pip_ipi ...
- [2021 CSP-S提高组] 题解(廊桥分配+括号序列+回文+交通规划)
2021 CSP-S 题解 廊桥分配 括号序列 回文 交通规划 配合
- CSP 2022 提高组普及组总结
提高组 T1 假期计划 题目大意:有nnn个点,mmm条边,每个点都有一个权值.现在要从第一个点开始,走到四个点在走回家,每走一次可以经过kkk个点. 设f[i][0/1/2]f[i][0/1/2]f ...
- 信息学奥林匹克c语言提高组,CSP信息学奥赛提高组一级全攻略,你值得拥有!...
12月15日,中国计算机学会CCF的软件能力职业考试--CSP的本年度第三次认证顺利结束.这是一个面向全国计算机相关专业大学毕业生的软件能力的考试,该项认证每年大约3.9.12月各举办一次,自2014 ...
- 「CSP」第一届提高组考后总结
「CSP」第一届提高组考后总结 问题分析+反思 成绩 心态 考前心态 考时心态 考后心态 方法 心灵鸡汤... 在学习了三年之后,我们信竞迎来了初中最后一次大考,也是第一次 CSPCSPCSP 考试. ...
- jzoj 5850.【NOIP提高组模拟2018.8.25】e 可持久化线段树+lca
Description Input Output Data Constraint 分析: 最小连通块可以看作是所有点到他们的 lca l c a lca路径的并集,因为是取最小值,所以重复的不会有贡献 ...
- NOIP1998-2018 CSP-S2 2019 2021提高组解题报告与视频
CSP-S 2020 讲题录屏 CSP-S 2020 讲题录屏_哔哩哔哩_bilibili 冠军说题--ACM世界冠军吴卓杰,带你复盘2020 CSP-S2 冠军说题--ACM世界冠军吴卓杰,带你复盘 ...
- [CSP-S Day1,Day2 游记]提高组考后总结及学习编程C++以来的心得体会
怀着沉重而感慨的心情写下了这篇blog 考试中暴露的问题 Day1 Day2 综上 解决方法 学习历程及以来的心得体会 职业精神 这篇博客我可能会写好几天,我jio得这篇博客对我的学习历程以及态度产生 ...
- NOIP提高组1890~1900集合答案(之前的文章标题错了,应该是1820开始的,不是1520开始的)
1890:[15NOIP提高组]跳石头时间限制: 1000 ms 内存限制: 131072 KB 提交数: 1037 通过数: 561 [题目描述] 这项比赛将在一条笔直的河道中进行,河道中分布着一些 ...
- CSP2021提高组游记
CSP2021提高组游记 update:2021.10.25 艰难地开始写这篇博客 因为真的不想面对 但又不得不面对 或许--这就是人生吧 无数次的想要逃避 最终却又选择坚持 虽然知道这样我会很累 但 ...
最新文章
- java导出excel多个sheet_java导出Excel多个工作表(添加多个sheet)
- linux最基础安装,Linux Nginx最基础的十大安装步骤(2)
- PhoneGap API帮助文档翻译—Camera (摄像头)
- js验证手机号码,邮箱,qq号
- 【三月专题】Dp专练
- 程序员如何切入区块链去中心化应用开发 1
- vue插入富文本编辑器(支持视频和图片的上传)
- pywin32+excel(一)——Python使用win32com/pywin32操作excel
- Spring Boot 项目集成Windows域账户认证
- 2021-11-09 jQuery常用方法及事件
- MediaWiki安装插件Semantic MediaWIKI + PageForms
- 琴生不等式及其加权形式的证明
- linux下twm切换gn,Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法
- C++核心准则讨论:如果一个类是资源句柄,则它需要一个构造函数,一个析构函数以及复制和/或移动操作
- 记半次元App数据解密记录
- 一款免费的屏幕录制软件
- rgb 与 #开头16进制 HEX颜色值关系转换,颜色值透明度的百分数对应十六进制表
- 82c55单片机c语言,8255/82C55中文资料简介
- 图书管理系统之读者信息管理实现
- echarts 中国地图点击进入相应省份 海南省里的南海诸岛换成诸岛简图