ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

2 月 9 日算法练习- 数据结构 - 除夕快乐♪٩(´ω`)و♪

2026/9/21 21:54:06 拓冰建站 浏览量
2 月 9 日算法练习- 数据结构 - 除夕快乐♪٩(´ω`)و♪

翻转括号序列

在这里插入图片描述在这里插入图片描述

暴力过20%数据

思路:括号合法序列问题可以利用前缀和,将"(“看成 1,”)"看成 0,规律是到某个位置为止的前缀和>0并且到最后前缀和=0。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int n,m;
string s;
int a[N];int main( ){cin>>n>>m>>s;for(int i=0;i<s.size();i++)if(s[i]=='(')a[i+1]=1;else a[i+1]=-1;while(m--){int op,L,R;cin>>op;if(op==1){cin>>L>>R;for(int i=L;i<=R;i++){a[i] = -a[i];}}else if(op==2){cin>>L;int sum =0,ans = 0;for(int i=L;i<=n;i++){sum += a[i];if(sum<0)break;if(!sum) ans = max(ans,i);}cout<<ans<<'\n';}}return 0;
}