社区讨论

Unkown Error

CF5CLongest Regular Bracket Sequence参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lw6eckz5
此快照首次捕获于
2024/05/14 20:56
2 年前
此快照最后确认于
2024/05/14 23:54
2 年前
查看原帖
using namespace std;
string s;
int dp[1000005]={};
int main()
{
    getline(cin,s);
    int n;
    n=s.length();
    stack<int> cjn;
    int max=0,count=0;
    for(int i=0;i<n;i++)
    {
        if(s[i]=='(')
        {
            cjn.push(i);
        }
        else
        {
           if(!cjn.empty())
            {
                int j;
                j=cjn.top();
                cjn.pop();
                if(j>0)
                {
                    dp[i]=dp[j-1]+(i-j+1);
                }
                else
                {
                    dp[i]=i-j+1;
                }
                if(dp[i]>max)
                {
                    max=dp[i]; count=1;
                }
                else if(dp[i]==max)
                {
                    count++;
                }
            }
        }
    }    
    if(max==0)
    {
        count=1;
    }
    cout<<max<<' '<<count;
}```

回复

6 条回复,欢迎继续交流。

正在加载回复...