当前位置: 首页 > news >正文

P9356 「SiR-1」Bracket 做题记录

P9356 「SiR-1」Bracket 做题记录

P9356 「SiR-1」Bracket - 洛谷 (luogu.com.cn)

\(\texttt{(}\) 看为 \(1\),将 \()\) 看为 \(-1\),整个括号序列看做一个折线图。

首先将末尾补到 \(0\),若 \(s_n<0\) 则在前边补左括号,\(s_n>0\) 在右边补有括号。

然后考虑进行轮换操作:若进行轮换,选择折线图最低点进行操作可以一步变得合法。

所以只需考虑需不需要进行轮换操作。若 \(s_n>0\),那么 \(s\) 的最小值 \(\ge 0\) 就不需要轮换;若 \(s_n<0\),那么 \(s\) 的最小值 \(\ge s_n\) 就不需要轮换。

再考虑区间 \([l,r]\),不难发现,不需要轮换当且仅当 \(\min_{l-1\le i\le r} s_i\ge \min\{s_{l-1},s_r\}\)

枚举 \(r\),维护左边的不降单调栈。若 \(\min_{l-1\le i\le r} s_i=s_r\),那么 \(l\) 必定合法;否则,需要 \(s_{l-1}=\min_{l-1\le i\le r} s_i\),即 \(l-1\) 在单调栈里。

需要维护第一个小于栈顶的元素,可以将值相同的元素并起来。复杂度 \(O(n)\)

int T,n;
char a[N];
int s[N];
int c[N<<1];
pii stk[N]; int top;void Solve(){read(n);scanf("%s",a+1);for(int i=0;i<=n+n;i++) c[i]=0;++c[n];for(int i=1;i<=n;i++){if(a[i]=='(') s[i]=s[i-1]+1;else s[i]=s[i-1]-1;++c[s[i]+n];}ll sum=0,tot=0;ll ans1=0;for(int i=0;i<=n+n;i++){ans1+=c[i]*(tot*i-sum);tot+=c[i],sum+=1ll*i*c[i];}top=0; ll ans2=1ll*n*(n+1)>>1;stk[0]={-1,0};for(int i=0;i<=n;i++){while(top&&s[stk[top].first]>s[i]) --top;if(top&&s[stk[top].first]==s[i]) stk[top].first=i,++stk[top].second;else ++top,stk[top]={i,stk[top-1].second+1};ans2-=i-stk[top-1].first-1+stk[top-1].second;}printf("%lld\n",ans1+ans2);
}signed main(){//静心,long long,数组大小,空间,复杂度,进包,格式 read(T);while(T--) Solve();return 0;
}
http://www.gsyq.cn/news/28916.html

相关文章:

  • 基于Java+Springboot+Vue开发的鲜牛奶订购网站管理系统(前后端分离)源码+运行步骤
  • 2025年10月PE管厂家推荐榜:五强对比与选购全攻略
  • 安卓照片误删?这 5 种恢复方法亲测有效,小白也能上手
  • 示波器探头衰减怎么判断?3 种方法 + 常见问题,新手也能学会​
  • ORA-01033 : ORACLE initialization or shutdown in progress
  • 致敬1024,《手搓》轻量级EventBus
  • Docker镜像库配置
  • 2025年工作服厂家推荐排行榜,防静电/劳保/国网/餐厅/工厂/电工/防酸碱/电力/车间/航空/员工工作服,文化衫/t恤/polo衫/冲锋衣/t恤衫公司精选
  • 2025年10月销毁公司推荐:森蓝领衔服务榜对比
  • 2025年10月淡化痘印产品推荐对比:从色素代谢到修护通路全解析
  • 2025年10月上海装修公司对比榜:千州装饰等五强口碑解析
  • 2025年10月医美项目后用什么产品评测榜:术后舒缓精华口碑对比
  • 一些c语言特殊用法
  • sql server查看所有表名以及注释
  • 2025.10.24——1绿
  • 2025年磨粉机厂家推荐排行榜,雷蒙磨粉机,环辊磨粉机,摆式磨粉机,矿石磨粉机,超细磨粉机,高压磨粉机,大型磨粉机公司推荐
  • SQL Server 建表语句
  • 2025年润滑油厂家权威推荐榜:工业润滑油,汽车润滑油,发动机润滑油,甲醇发动机润滑油,三特/三球/安迪森润滑油,全合成润滑油,中国润滑油,长效发动机润滑油厂家精选
  • 人工智能学院课程设计
  • 2025年氧化镁厂家最新推荐排行榜,活性氧化镁,肥料级氧化镁,高纯度氧化镁,工业级氧化镁优质供应商精选
  • 2025年10月肤色暗沉产品评测榜:五款温和亮肤方案指南
  • 2025年10月淡化痘印产品推荐榜:五款高口碑单品横向对比
  • 2025年防静电/劳保/国网/电工/防酸碱/电力/车间/航空/员工广告衫厂家推荐排行榜,文化衫/t恤/polo衫/冲锋衣/t恤广告衫公司精选
  • 易语言5.95完美破解版
  • 有时放开手 ,才能抓得紧
  • 读AI赋能08竞技场
  • 解决Proxmox VE 9版本apt-get报错
  • 主席树(可持久化线段树)
  • Spring Boot 整合 MiniMax 与 CosyVoice 语音合成服务实践指南
  • 251024