CODEVS 3657 括号序列
【问题描述】
我们用以下规则定义一个合法的括号序列:
(1)空序列是合法的
(2)假如S是一个合法的序列,则 (S) 和[S]都是合法的
(3)假如A 和 B 都是合法的,那么AB和BA也是合法的
例如以下是合法的括号序列:
(), [], (()), ([]), ()[], ()[()]
以下是不合法括号序列的:
(, [, ], )(, ([]), ([()
现在给定一些由'(', ')', '[', ,']'构成的序列 ,请添加尽量少的括号,得到一个合法的括号序列。
【输入】
输入包括号序列S。含最多100个字符(四种字符: '(', ')', '[' and ']') ,都放在一行,中间没有其他多余字符。
【输出】
使括号序列S成为合法序列需要添加最少的括号数量。
【样例输入】
([()
【样例输出】
2
【样例说明】
最少添加2个括号可以得到合法的序列:()[()]或([()])
【数据范围】S的长度<=100 (最多100个字符)。 解题思路
1 program kuohao; 2 uses math; 3 const maxn=255; 4 var 5 f:Array[0..maxn,0..maxn] of longint; 6 s:string; 7 p,i,j,k,min,flag:Longint; 8 begin 9 readln(s); 10 for i:=1 to length(s) do f[i,i]:=1; 11 for p:=1 to length(s) do//枚举次数 12 for i:=1 to length(s)-p do//枚举起点 13 begin 14 min:=maxlongint; 15 flag:=0; 16 j:=i+p; 17 if ((s[i]='(') and(s[j]=')')) or((s[i]='[')and (s[j]=']')) 18 then 19 begin 20 f[i,j]:=f[i+1,j-1]; 21 flag:=1; 22 end; 23 for k:=i to j-1 do//枚举决策 24 begin 25 if f[i,k]+f[k+1,j]<min then min:=f[i,k]+f[k+1,j]; 26 end; 27 if (min<f[i,j]) or (flag=0) then f[i,j]:=min; 28 writeln(f[1,length(s)]); 29 end.
转载于:https://www.cnblogs.com/wuminyan/p/4740399.html
CODEVS 3657 括号序列相关推荐
- 138.括号序列(区间型DP)
3657 括号序列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 我们用以下规则定义一个合法的括号序列: (1 ...
- bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治
这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节.. 点分治:时空复杂度$O(n\log^2n)$,常数巨大 主要就是3个堆的初始状态 C堆:每个节点一个,为子树中的点到它父亲的距离的堆. B ...
- 2016百度实习编程题:括号序列
不知如何解决 1.感觉贪心或者动态规划,不知道如何解决 2.做过生成合法括号序列的题目,想到用DFS补成合法的括号,然而没有成功
- UVA1626 括号序列 Brackets sequence(区间DP匹配括号,输出匹配方案)
整理的算法模板合集: ACM模板 UVA1626 Brackets sequence 我们将正规括号序列定义如下: 空序列是正规括号序列. 如果 SSS 是一个正规括号序列,那么 (S) 和 [S] ...
- [ Nowcoder Contest 165 #D ] 合法括号序列
\(\\\) \(Description\) 键盘上有三个键,敲击效果分别是: 在输出序列尾部添加一个左括号 在输出序列尾部添加一个右括号 删除输出序列尾部的第一个元素,若输出序列为空,则什么都不发生 ...
- BZOJ4350: 括号序列再战猪猪侠
Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号 序列S合法,当且仅当: 1.( )是一个合法的括号序列. 2.若A是合法的括号序列 ...
- 常考数据结构与算法:括号序列
题目描述 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,"()"和"()[] ...
- BZOJ2209: [Jsoi2011]括号序列
BZOJ2209: [Jsoi2011]括号序列 Description Input 输入数据的第一行包含两个整数N和Q,分别表示括号序列的长度,以及操作的个数. 第二行包含一个长度为N的括号序列. ...
- 2020\Simulation_2\4.括号序列
[问题描述] 由1对括号,可以组成一种合法括号序列:(). 由2对括号,可以组成两种合法括号序列:()().(()). 由4对括号组成的合法括号序列一共有多少种? [答案提交] 这是一道结果填空的题, ...
- [Jobdu] 题目1337:寻找最长合法括号序列
题目描述: 给你一个长度为N的,由'('和')'组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...
最新文章
- 服务器预装操作系统,服务器预装操作系统吗
- 什么是事务?为什么需要事务?
- CSS 七层叠层顺序(stacking level)
- 集群没有leader_面试官问:说说你对ZooKeeper集群与Leader选举的理解?
- 你的企业离DevOps转型成功,就差这“七步法”路线图
- Spring Boot 集成MyBatis
- 使用 laravel Passport 做 API 认证
- Extjs EditorGridPanel功能
- Win8之常用快捷键(1)
- VSTest.Console.exe 的使用
- 2007年“网络十大炒女”排行榜
- 一张图片中多个图标如何通过CSS定位显示?
- 图片怎么加水印?添加水印其实很简单
- java super.clone解释_super.clone()做了什么
- ChatGPT有效提问技巧
- 利用phpstudy在网页输出学号姓名
- android 播放3gp音频,说说 Android 中如何操作音频与视频文件
- 基于Proteus学习单片机系列(七)——AD转换及其应用--ADC0832
- nginx配置防止域名恶意解析
- android.view.InflateException: Binary XML file line(报错日志要从下往上看)