暴力集锦
来源:互联网 发布:淘宝客服计划怎么写 编辑:程序博客网 时间:2024/04/29 18:10
http://blog.csdn.net/acm_ted/article/details/8022419
第三题:Bracket Sequence
题意:给你一段只包含'(',')','[',']'的字符串,问哪段子串的括号匹配是正确的且包含尽可能多的'['。
题解:用num数组记录前i个字符包含'['的个数,再计算以第i个字符开始,符合条件的字符串的长度,用l数组记录,最后查找最优值。
代码:
#include<cstdio>#include<cstring>using namespace std;#define M 100005char s[M];int num[M],l[M];bool check(char a,char b){ return ((a=='('&&b==')')||(a=='['&&b==']'));}int main(){ scanf("%s",s); int len=strlen(s); memset(l,0,sizeof(l)); num[0]=0; for(int i=0; i<len; ++i) num[i+1]=num[i]+(s[i]=='['); for(int i=len-2; i>=0; --i) { if(s[i]==')'||s[i]==']') continue; int idx=i+1+l[i+1]; if(check(s[i],s[idx])) l[i]=idx-i+1+l[idx+1]; } int ans=0,st=0; for(int i=0; i<len; ++i) if(ans<num[i+l[i]]-num[i]) { ans=num[i+l[i]]-num[i]; st=i; } printf("%d\n",ans); for(int i=0; i<l[st]; ++i) printf("%c",s[st+i]); printf("\n"); return 0;}
0 0
- 暴力集锦
- 暴力??
- 暴力
- 暴力
- 暴力
- 暴力
- 暴力
- 集锦
- 集锦
- 集锦
- 集锦
- CSU 1538 暴力暴力暴力
- hdu6152暴力暴力!!!
- 很黄很暴力
- 《暴力街区》
- 暴力关机
- 暴力破解
- 暴力反射
- SQLite3第三方库之FMDB
- 网络游戏的位置同步问题
- http://mxdxm.iteye.com/blog/727926
- HDOJ1232
- poj1664 放苹果
- 暴力集锦
- windows 10偿鲜
- leetcode Anagrams
- java基础学习笔记4
- Ldap基础知识
- UVA 361 Cops and Robbers(凸包应用)
- 『IOS』ios学习笔记之nil、NULL和NSNull
- 找到n个数中的最大的k个数
- 如何把多个Android Project打包成一个APK