首先,我只想声明一点,这道题有毒。。。我用char读入就错了,然而换成string读入就对了或者可以把定义char的数组开的大一点,原先1A的一题硬是纠结了老半天。
传送门:zjnu
题意:
就是对于一个组成的序列,添加尽量少的括号得到一个规则序列,并且输出这个序列的长度。
不过我学到了两种定义dp状态的方法:
1)定义dp[i][j]为i~j中需要添加的最少的括号数。...
分类:
编程语言 时间:
2015-08-28 00:53:39
阅读次数:
137
题意:有一个字符串全部由’(‘和’)’组成,然后有三种操作,query a b输出区间[a,b]字符串的括号序列是否合法,reverse a b把区间[a,b]字符串里所有’(‘替换成’)’,并且把所有’)’替换为’(‘,set a b c,把区间[a,b]的所有字符替换为c。
题解:明显是线段树,为了可以让线段树维护,判断一个字符串是否为合法括号,可以把所有的’(‘替换为-1,’)’替换为1,那...
分类:
其他好文 时间:
2015-08-20 06:49:03
阅读次数:
111
【问题描述】我们用以下规则定义一个合法的括号序列:(1)空序列是合法的(2)假如S是一个合法的序列,则 (S) 和[S]都是合法的(3)假如A 和 B 都是合法的,那么AB和BA也是合法的例如以下是合法的括号序列:(), [], (()), ([]), ()[], ()[()]以下是不合法括号序列的...
分类:
其他好文 时间:
2015-08-18 21:01:42
阅读次数:
162
这道题算是区间dp的入门题目了。题目让求一个最长的合法的括号序列长度,直接记忆化搜索的话比较好想,但是代码有点长,如果写成递推式那么代码就会精简好多。状态转移方程:dp[i][j]表示从i到j能构成的最长长度如果i位置和j位置配对的话,那么dp[i][j] = dp[i + 1][j - 1] + ...
分类:
其他好文 时间:
2015-08-17 17:08:28
阅读次数:
156
题目地址:POJ 1141
题意:给出一串由‘(‘)’‘ [ ’ ’ ] ‘组成的串,将给出的括号序列以添加最小数目括号的形式进行配对。
思路:dp[i][j]表示当前子序列需要添加的最小字符数,path存储的是所有子问题的解。然后详情看代码解释。#include
#include
#include
#include <stdlib.h...
分类:
其他好文 时间:
2015-08-17 12:03:01
阅读次数:
174
题目描述 Description
我们用以下规则定义一个合法的括号序列:
(1)空序列是合法的
(2)假如S是一个合法的序列,则 (S) 和[S]都是合法的
(3)假如A 和 B 都是合法的,那么AB和BA也是合法的
例如以下是合法的括号序列:
(), [], (()), ([]), ()[], ()[()]
以下是不合法括号序列的:
(, [, ], )(, ([]), ([...
分类:
其他好文 时间:
2015-08-10 18:07:47
阅读次数:
141
http://www.lydsy.com/JudgeOnline/problem.php?id=1485卡特兰数。把第1,3,...,2N-1个位置看做左括号,第2,4,...,2N个位置看成右括号。考虑从1到2N把数放进去,其实就变成了括号序列。所以是卡特兰数。求$\frac{C_{2n}^{n}...
分类:
其他好文 时间:
2015-08-07 21:46:36
阅读次数:
122
染色有三个条件:对于每个点来说要么不染色,要么染红色,要么染蓝色对于每对配对的括号来说,有且只有一个一边的括号被染色相邻的括号不能染成相同的颜色首先可以根据给出的括号序列计算出括号的配对情况,具体来说就是第i个括号与R[i]个括号配对。对于一个正规配对括号序列(correct bracket seq...
分类:
其他好文 时间:
2015-08-02 23:04:01
阅读次数:
211
这个题,哈哈,很无语。
题意:给出所有左括号跟右括号之间合法的距离,求出一个合法的括号序列。
由于括号肯定是快点匹配完最好,所以维护一个栈,若当前的左括号可以被匹配那就匹配否则丢一个左括号进去。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-07-31 18:23:56
阅读次数:
144
括号配对问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述 现在,有一行括号序列,请你检查这行括号是否配对。
输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入
3
[(])
(])
([[]()])
样例输出
No
No
Yes
来源网络上传者n...
分类:
其他好文 时间:
2015-07-28 10:59:03
阅读次数:
122