zoukankan      html  css  js  c++  java
  • 【CF1023C】Bracket Subsequence(模拟)

    题意:给定一个正则括号序列 s ,让你在当中选择一个长度正好为 t 的子串,使得 t 恰好也是一个正则括号序列

    思路:用栈模拟

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<string>
     4 #include<cmath>
     5 #include<iostream>
     6 #include<algorithm>
     7 #include<map>
     8 #include<set>
     9 #include<queue>
    10 #include<vector>
    11 using namespace std;
    12 typedef long long ll;
    13 typedef unsigned int uint;
    14 typedef unsigned long long ull;
    15 typedef pair<int,int> PII;
    16 typedef vector<int> VI;
    17 #define fi first
    18 #define se second 
    19 #define MP make_pair
    20 #define N   210000
    21 #define MOD 1000000007
    22 #define eps 1e-8 
    23 #define pi acos(-1)
    24 #define oo 2000000000
    25 
    26 
    27 char a[N];
    28 int stk[N],flag[N];
    29 
    30 int read()
    31 { 
    32    int v=0,f=1;
    33    char c=getchar();
    34    while(c<48||57<c) {if(c=='-') f=-1; c=getchar();}
    35    while(48<=c&&c<=57) v=(v<<3)+v+v+c-48,c=getchar();
    36    return v*f;
    37 }
    38 
    39 void swap(int &x,int &y)
    40 {
    41     int t=x;x=y;y=t;
    42 }
    43 
    44 
    45 
    46 int main()
    47 {
    48 //    freopen("1.in","r",stdin);
    49     //freopen("1.out","w",stdout);
    50     int n,k;
    51     scanf("%d%d",&n,&k);
    52 //    printf("%d%d",n,k);
    53     scanf("%s",a);
    54 //    printf("%s",a);
    55     int cnt=0;
    56     int top=0;
    57     for(int i=0;i<=n-1;i++)
    58     {
    59         if(a[i]=='('&&cnt<(k/2)) {stk[++top]=i; cnt++;}
    60          else
    61          {
    62              if(a[i]==')'&&top>0)
    63              {  
    64                  flag[i]=1;
    65                 flag[stk[top--]]=1;
    66             } 
    67          }
    68     }
    69     for(int i=0;i<=n-1;i++)
    70      if(flag[i]) printf("%c",a[i]); 
    71      
    72     return 0;
    73 }
  • 相关阅读:
    nginx 反向代理 apache 服务
    IIS 设置404页面 显示系统找不到指定的文件
    centos6.6 下 安装 nginx
    sql优化建议
    php的静态化
    vsftp上传文件出现553 Could not create file
    php安装libevent扩展
    discuz回贴通知插件实现-显示用户状态设置
    discuz回贴通知插件实现-插件的多语言
    discuz回贴通知插件实现-插件后台管理配置
  • 原文地址:https://www.cnblogs.com/myx12345/p/9843785.html
Copyright © 2011-2022 走看看