当前位置: 首页 > 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.hskmm.com/?act=detail&tid=37817

相关文章:

  • 放大器保护机制的技术原理与应用实践
  • 安卓照片误删?这 5 种恢复方法亲测有效,小白也能上手
  • 2025年10月浦东装修公司口碑榜:五强对比评测
  • MySQL学习笔记-部分实例datagrip源码-10-21
  • sudo apt install cmake ERROR: ld.so: object /home/ma-user/anaconda3/envs/xxxx/lib/python3.9/site-pa
  • 2025年10月中国引流营销公司推荐榜:五强对比评测
  • 示波器探头衰减怎么判断?3 种方法 + 常见问题,新手也能学会​
  • 制造业数字化效率低到哭?AI 低代码自动生接口、拼流程,JNPF 级平台让集成效率提 500% - 实践
  • WPF 和 Avalonia 开发者的 html css 前端指南 ComboBox 篇
  • ORA-01033 : ORACLE initialization or shutdown in progress
  • 2025年化工原料厂家推荐排行榜:双氧水/片碱/盐酸/磷酸/PAC/聚丙烯酰胺/消泡剂/阻垢剂等工业级化学品供应商精选
  • ESP32-BLE-NIMBLE蓝牙透传DEMO
  • 2025年10月深圳近视手术医生推荐榜:五强排行与选择要点
  • 2025年10月深圳近视手术医生推荐榜:朱少栋李伟力领衔对比
  • 数据库内部错误00600 故障处理
  • 2025年10月销毁公司推荐:森蓝领衔服务榜对比
  • 2025年危险品运输企业权威推荐榜:专业资质与安全口碑兼具的合规运输服务商精选
  • Docker镜像库配置
  • ref和reactive和.value
  • 2025年工作服厂家推荐排行榜,防静电/劳保/国网/餐厅/工厂/电工/防酸碱/电力/车间/航空/员工工作服,文化衫/t恤/polo衫/冲锋衣/t恤衫公司精选
  • 2025年10月淡化痘印产品推荐对比:从色素代谢到修护通路全解析
  • 2025年10月上海装修公司推荐榜:千州装饰等五家深度对比
  • 2025年10月上海装修公司对比榜:千州装饰等五强口碑解析
  • 2025年10月敏感肌美白面霜推荐榜:淡斑修护综合排名
  • 2025年10月色斑淡化产品对比榜:五款精华通路机制深度解析
  • 2025年10月医美项目后用什么产品评测榜:术后舒缓精华口碑对比
  • 题解:P4204 [NOI2006] 神奇口袋
  • 2025年超声波检测设备厂家权威推荐榜:相控阵/高频/水浸/液冷板/钎焊超声波检测系统,技术实力与选购指南深度解析
  • 一些c语言特殊用法
  • 2025年环氧板厂家推荐排行榜,环氧板加工,FR-4玻纤板,云母板,专业定制与优质材料供应商精选